"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 दिनांक स्वरूपण का उपयोग करने की अनुमति देगा।