समस्या:
आप किसी SQL सर्वर डेटाबेस में दिनांक फ़ील्ड या मान का स्वरूप बदलना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में Patient
कॉलम में डेटा के साथ Id
, FirstName
, LastName
, और RegistrationDate
.
आईडी | <थ>पहला नाम <थ>अंतिम नामपंजीकरण दिनांक | ||
---|---|---|---|
1 | जेन | विलियम्स | 2019-06-20 |
2 | गेब्रियल | भूरा | 2019-02-02 |
3 | लोरा | लोक | 2016-11-05 |
आइए प्रत्येक रोगी की पंजीकरण तिथि का प्रारूप बदलें। हम पहले कार्यदिवस का नाम, उसके बाद महीने का दिन और नाम और 4-अंकीय वर्ष (जैसे "शुक्रवार, 27 दिसंबर 2019") रखेंगे।
समाधान:
हम RegistrationDate
में दिनांक के प्रारूप को बदलने के लिए FORMAT () फ़ंक्शन का उपयोग करेंगे कॉलम।
SELECT FirstName, LastName, FORMAT(RegistrationDate ,'dddd, d MMMM, yyyy') AS FormattedRegistrationDate FROM Patient;
ये रहा क्वेरी का नतीजा:
प्रथम नाम | <थ>अंतिम नामस्वरूपित पंजीकरण दिनांक | |
---|---|---|
जेन | विलियम्स | गुरुवार, 20 जून, 2019 |
गेब्रियल | भूरा | शनिवार, 2 फरवरी, 2019 |
लोरा | लोक | शनिवार, 5 नवंबर, 2016 |
चर्चा:
हम यह बदल सकते हैं कि किसी दी गई तिथि को FORMAT () फ़ंक्शन के साथ कैसे प्रदर्शित किया जाता है। यह फ़ंक्शन दो अनिवार्य तर्क और एक वैकल्पिक तर्क लेता है। हमारे उदाहरण में, हमने केवल दो अनिवार्य तर्कों का उपयोग किया है। पहला दिनांक है, जो दिनांक/समय/डेटाटाइम कॉलम या किसी भी अभिव्यक्ति से हो सकता है जो दिनांक या समय लौटाता है। (हमारे उदाहरण में, हम RegistrationDate
. कॉलम का उपयोग करते हैं ।) दूसरा तर्क एक स्ट्रिंग है जिसमें नया दिनांक प्रारूप है। हमारे उदाहरण में, हमने 'dddd, dd MMMM, yyyy' का उपयोग किया है :
- dddd - सप्ताह के दिन का नाम।
- डी - महीने का दिन, 1 से 31 तक।
- एमएमएमएम - महीने का पूरा नाम।
- yyyy - चार अंकों वाला वर्ष।
नीचे दी गई तालिका अधिक दिनांक/समय प्रारूप विनिर्देशक प्रस्तुत करती है:
विनिर्देशक | <थ>विवरण|
---|---|
d | दिन 1-31 की सीमा में |
डीडी | दिन 01-31 की सीमा में |
ddd | सप्ताह के दिन का संक्षिप्त नाम |
dddd | सप्ताह के दिन का पूरा नाम |
एम | महीना 1 से 12 तक |
एमएम | 01 से 12 तक का महीना |
एमएमएम | महीने का संक्षिप्त नाम |
एमएमएमएम | माह का पूरा नाम |
y | 2-अंकीय वर्ष, 0 से 99 तक |
वर्ष | 02 अंकों का वर्ष 00 से 99 तक |
yyyy | 4 अंकों का वर्ष |
g | युग (उदा. ई.) |
ज | 1 से 12 घंटे (12 घंटे की घड़ी) |
एचएच | 01 से 12 घंटे (12 घंटे की घड़ी) |
एच | 0 से 23 घंटे (24 घंटे की घड़ी) |
HH | 00 से 23 घंटे (24 घंटे की घड़ी) |
m | 0 से 59 मिनट तक |
मिमी | 00 से 59 तक मिनट |
s | 0 से 59 तक दूसरा |
ss | 00 से 59 तक दूसरा |
टी | AM या PM का पहला वर्ण (उदा. 9A, 5P) |
टीटी | AM या PM |
z | घंटों की ऑफसेट, बिना आगे के शून्य (उदा. +3) |
zz | घंटे ऑफसेट, अग्रणी शून्य के साथ (उदा. +03) |
आप मानक दिनांक और समय प्रारूपों और कस्टम प्रारूपों के लिए Microsoft दस्तावेज़ीकरण में अधिक जान सकते हैं।
यदि आप किसी विशिष्ट भाषा और/या देश के लिए इस तिथि को प्रारूपित करना चाहते हैं, तो तीसरे वैकल्पिक तर्क का उपयोग करें:संस्कृति . यह तर्क एक स्ट्रिंग है जिसमें किसी विशेष क्षेत्र या देश के लिए संस्कृति कोड होता है। (संस्कृति कोड एक भाषा कोड, एक डैश और एक देश कोड से बने होते हैं।) नीचे दिए गए उदाहरण में, हम जर्मनी के लिए संस्कृति कोड का उपयोग करते हैं, जो जर्मनी के लिए देश कोड के साथ जर्मन भाषा कोड ('डी') को जोड़ता है। ('डीई'), यानी 'डी-डीई'। परिणामी तिथि जर्मन में प्रदर्शित होती है और इसे जर्मन दर्शकों के रूप में स्वरूपित किया जाता है जो इसे देखने की उम्मीद करेंगे।
SELECT FirstName, LastName, FORMAT(RegistrationDate ,'dddd, d MMMM, yyyy', 'de-DE') AS FormattedRegistrationDate FROM Patient;
यह रहा इस प्रश्न का परिणाम:
प्रथम नाम | <थ>अंतिम नामपंजीकरण दिनांक | |
---|---|---|
जेन | विलियम्स | डोनरस्टैग, 20 जून, 2019 |
गेब्रियल | भूरा | समस्टैग, 2 फरवरी, 2019 |
लोरा | लोक | समस्टैग, 5 नवंबर, 2016 |