SQL सर्वर में, जब आप T-SQL का उपयोग करते हैं FORMAT()
समय . को प्रारूपित करने के लिए कार्य करता है डेटा प्रकार, आपको अपनी प्रारूप स्ट्रिंग में किसी भी कोलन या अवधि से बचने के लिए याद रखना होगा।
ऐसा इसलिए है क्योंकि FORMAT()
फ़ंक्शन CLR स्वरूपण नियमों पर निर्भर करता है, जो यह निर्देश देते हैं कि कोलन और अवधियों से बचना चाहिए। इसलिए, जब प्रारूप स्ट्रिंग (द्वितीय पैरामीटर) में एक कोलन या अवधि होती है, तो कोलन या अवधि को बैकस्लैश से बचाना चाहिए, जब एक इनपुट मान (पहला पैरामीटर) समय का हो। डेटा प्रकार।
उदाहरण 1 - कोलन से बचना
यहां FORMAT()
. का इस्तेमाल करने का एक बुनियादी उदाहरण दिया गया है समय . को प्रारूपित करने के लिए कार्य करता है डेटा प्रकार।
SELECT FORMAT(CAST('11:28:15' AS time), 'hh\:mm') Result;
परिणाम:
+----------+ | Result | |----------| | 11:28 | +----------+
बैकस्लैश को प्रारूप स्ट्रिंग में नोट करें।
उदाहरण 2 - एक अवधि से बचना
यदि हम इसे एक अवधि के साथ प्रारूपित करना चाहते हैं तो यही बात लागू होती है:
SELECT FORMAT(CAST('11:28:15' AS time), 'hh\.mm') Result;
परिणाम:
+----------+ | Result | |----------| | 11.28 | +----------+
उदाहरण 3 - न छूटा
यहां बताया गया है कि अगर हम कोलन या पीरियड से नहीं बचते हैं तो क्या होता है।
SELECT FORMAT(CAST('11:28:15' AS time), 'hh:mm') 'Unescaped Colon', FORMAT(CAST('11:28:15' AS time), 'hh.mm') 'Unescaped Period';
परिणाम:
+-------------------+--------------------+ | Unescaped Colon | Unescaped Period | |-------------------+--------------------| | NULL | NULL | +-------------------+--------------------+
हमें NULL
मिलता है दोनों ही मामलों में।
उदाहरण 4 - दिनांक समय (बचने की कोई आवश्यकता नहीं)
यदि इनपुट मान डेटा प्रकार समय . का है, तो आपको केवल कोलन और अवधि से बचने की आवश्यकता है . अगर यह डेटाटाइम है (या डेटाटाइम2 आदि), आपको उनसे बचने की आवश्यकता नहीं है।
यदि मैं पिछले उदाहरण का उपयोग करता हूं, लेकिन इनपुट मानों को datetime2 . पर स्विच करता हूं , हम कुछ भी बचने की आवश्यकता के बिना वांछित परिणाम प्राप्त करते हैं:
SELECT FORMAT(CAST('11:28:15' AS datetime2), 'hh:mm') 'Unescaped Colon', FORMAT(CAST('11:28:15' AS datetime2), 'hh.mm') 'Unescaped Period';
परिणाम:
+-------------------+--------------------+ | Unescaped Colon | Unescaped Period | |-------------------+--------------------| | 11:28 | 11.28 | +-------------------+--------------------+
वही sysdatetime . पर लागू होता है :
SELECT FORMAT(SYSDATETIME(), 'hh:mm') 'Unescaped Colon', FORMAT(SYSDATETIME(), 'hh.mm') 'Unescaped Period';
परिणाम:
+-------------------+--------------------+ | Unescaped Colon | Unescaped Period | |-------------------+--------------------| | 04:46 | 04.46 | +-------------------+--------------------+