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

एसक्यूएल सर्वर में डेटाटाइम कनवर्ट करें

"25-अक्टूबर-2010" पाने के लिए

मान लें कि मान एक स्ट्रिंग के रूप में दिया गया है, न कि DATETIME डेटा प्रकार:

SELECT REPLACE(CONVERT(VARCHAR, CAST('2010-10-25 11:13:36.700' AS DATETIME), 106), ' ', '-')

CAST/CONVERT दस्तावेज़ देखें अन्य प्रारूपों के लिए, हालांकि आपके द्वारा अनुरोधित प्रारूप के लिए पोस्ट-प्रोसेसिंग की आवश्यकता है।

"2010-10-25 00:00:00.000" प्राप्त करने के लिए

सबसे अच्छा प्रदर्शन करने वाला साधन DATEADD और DATEDIFF का उपयोग करना है:

SELECT DATEADD(d, DATEDIFF(dd, 0, '2010-10-25 11:13:36.700'), 0)

संदर्भ:

परीक्षण

WITH sample AS (
   SELECT CAST('2010-10-25 11:13:36.700' AS DATETIME) dt)
SELECT REPLACE(CONVERT(VARCHAR, s.dt, 106), ' ', '-') AS col1,
       DATEADD(d, DATEDIFF(dd, 0, s.dt), 0) AS col2
  FROM sample s

रिटर्न:

col1          col2
-------------------------------------
25-Oct-2010   2010-10-25 00:00:00.000

परिशिष्ट

चूंकि आप SQL सर्वर 2005 पर हैं, आप SQLCLR फ़ंक्शन बनाकर अपने लिए दिनांक स्वरूपण को आसान बना सकते हैं जो आपको .NET दिनांक स्वरूपण का उपयोग करने की अनुमति देगा।



  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. टेक्स्ट कॉलम में शब्दों की गिनती के अवसर पर एमएस एसक्यूएल क्वेरी

  3. टीएसक्यूएल ओवर क्लॉज:काउंट (*) ओवर (ऑर्डर बाय ए)

  4. एसक्यूएल कोष्ठक के अंदर मूल्यों का चयन करें

  5. SQL सर्वर में एक डेटाबेस से दूसरे डेटाबेस में टेबल कॉपी करें