Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

लिंक:दिनांक द्वारा क्रमबद्ध करें जब इसे टेक्स्ट के रूप में संग्रहीत किया जाता है

आप तालिका में एक परिकलित कॉलम जोड़ सकते हैं जो उन स्ट्रिंग्स को तारीखों में बदल देगा जब आपके विवेचक के पास एक विशिष्ट मान होगा (यहाँ मैंने अभी-अभी 'date' का उपयोग किया है। )।

ALTER TABLE Foo
ADD trueDate AS
    CASE 
        WHEN type = 'date' THEN CONVERT(date, 'mixedColumn', 101)
        ELSE NULL
    END
PERSISTED

अगर आपके पास समय की जानकारी है तो date datetime होना चाहिए CONVERT() . में समारोह।

साथ ही, 101 एक स्टाइल कोड है जो MM/dd/yyyy . के अपेक्षित प्रारूप को दर्शाता है . अगर आपके पास कुछ अलग है, तो इसे देखें:http://msdn.microsoft .com/en-us/library/ms187928.aspx , लेकिन ध्यान रखें कि यदि आप 100 से नीचे की शैली का उपयोग करते हैं तो आपकी अभिव्यक्ति को गैर-नियतात्मक माना जाएगा और आप अपना परिकलित कॉलम PERSISTED नहीं बना सकते। , इसलिए रूपांतरण प्रत्येक प्रश्न के साथ तुरंत किया जाएगा (आप ऐसा नहीं चाहते हैं)।

जब पंक्ति मान बदलते हैं तो परिकलित कॉलम स्वयं अपडेट हो जाएगा; अन्यथा मान किसी अन्य कॉलम की तरह ही बने रहते हैं और क्वेरी करने योग्य होते हैं। किसी ट्रिगर की आवश्यकता नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बाहरी आवेदन का उपयोग कहां करें

  2. जावा JDBC:दिनांक लगातार दो दिन की छुट्टी

  3. मैं SQL Server 2008 R2 में CONCAT फ़ंक्शन का उपयोग कैसे करूं?

  4. SQL सर्वर में अपरकेस को लोअरकेस में कैसे बदलें - LOWER ()

  5. एसक्यूएल क्वेरी दो तालिकाओं से मेल न खाने वाले रिकॉर्ड प्राप्त करने में मदद करती है