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

SQL सर्वर में FORMAT () द्वारा समर्थित कस्टम दिनांक/समय प्रारूप स्ट्रिंग्स

यह आलेख कस्टम दिनांक और समय प्रारूप विनिर्देशों के लिए एक संदर्भ प्रदान करता है जिसका उपयोग FORMAT() का उपयोग करके दिनांक और/या समय स्वरूपित करते समय किया जा सकता है। उदाहरण के साथ SQL सर्वर में फ़ंक्शन।

अनुकूलित प्रारूप स्ट्रिंग बनाने के लिए आप इनमें से किसी भी प्रारूप विनिर्देशक को जोड़ सकते हैं। कस्टम प्रारूप स्ट्रिंग कैसे काम करती है, इस पर एक कोड उदाहरण और स्पष्टीकरण के लिए नीचे देखें।

तालिका में उदाहरण डेटाटाइमऑफ़सेट . मानते हैं 2080-05-01 23:09:08.1234567 +07:00 . का मान ।

<थ>विवरण <वें शैली="चौड़ाई:15%">उदाहरण
स्वरूप स्ट्रिंग
d महीने का दिन, 1 से 31 तक। 1
dd महीने का दिन, 01 से 31 तक। 01
ddd सप्ताह के दिन का संक्षिप्त नाम। बुध
dddd सप्ताह के दिन का पूरा नाम। बुधवार
f किसी दिनांक और समय मान में एक सेकंड का दसवां भाग। 1
ff किसी दिनांक और समय मान में एक सेकंड का सौवां भाग। 12
fff दिनांक और समय मान में मिलीसेकंड। 123
fffff किसी दिनांक और समय मान में एक सेकंड का दस हज़ारवां भाग। 1234
fffff किसी दिनांक और समय मान में एक सेकंड का सौ हज़ारवां भाग। 12345
ffffff किसी दिनांक और समय मान में एक सेकंड का मिलियनवाँ भाग। 123456
fffffff दिनांक और समय मान में एक सेकंड का दस लाखवां भाग। 1234567
F यदि शून्य नहीं है, तो दिनांक और समय मान में एक सेकंड का दसवां भाग। 1
FF यदि शून्य नहीं है, तो दिनांक और समय मान में एक सेकंड का सौवां भाग। 12
FFF यदि शून्य नहीं है, तो दिनांक और समय मान में मिलीसेकंड। 123
FFFF यदि शून्य नहीं है, तो दिनांक और समय मान में एक सेकंड का दस हज़ारवां भाग। 1234
FFFFF यदि शून्य नहीं है, तो दिनांक और समय मान में एक सेकंड का सौ हज़ारवां भाग। 12345
FFFFFF यदि शून्य नहीं है, तो दिनांक और समय मान में एक सेकंड का मिलियनवाँ भाग। 123456
FFFFFFF यदि शून्य नहीं है, तो दिनांक और समय मान में एक सेकंड का दस लाखवाँ भाग। 1234567
g अवधि या युग। ई.
gg अवधि या युग। ई.
h 1 से 12 बजे तक 12 घंटे की घड़ी का उपयोग करते हुए घंटा। 11
hh 01 से 12 बजे तक 12 घंटे की घड़ी का उपयोग करते हुए घंटा। 11
h 0 से 23 बजे तक 24 घंटे की घड़ी का उपयोग करने वाला घंटा। 23
hh वह घंटा, 24 घंटे की घड़ी का उपयोग करते हुए 00 से 23 तक। 23
K समय क्षेत्र की जानकारी। +07:00
m मिनट, 0 से 59 तक। 9
mm मिनट, 00 से 59 तक। 09
m माह, 1 से 12 तक. 5
MM माह, 01 से 12 तक। 05
MMM महीने का संक्षिप्त नाम। मई
MMMM माह का पूरा नाम। मई
s दूसरा, 0 से 59 तक। 8
ss दूसरा, 00 से 59 तक। 08
t AM/PM डिज़ाइनर का पहला वर्ण। पी
tt एएम/पीएम डिज़ाइनर। प्रधानमंत्री
y वर्ष, 0 से 99 तक। 80
yy वर्ष, 00 से 99 तक। 80
yyy वर्ष, कम से कम तीन अंकों के साथ। 2080
yyyy चार अंकों की संख्या के रूप में वर्ष। 2080
yyyyy पांच अंकों की संख्या के रूप में वर्ष। 02080
z यूटीसी से घंटों की भरपाई, बिना किसी प्रमुख शून्य के। +7
zz यूटीसी से घंटे ऑफसेट, एक अंक के मान के लिए अग्रणी शून्य के साथ। +07
zzz यूटीसी से घंटे और मिनट ऑफसेट। +07:00
: समय विभाजक। :
/ तारीख विभाजक। /
"string" शाब्दिक स्ट्रिंग सीमांकक। स्ट्रिंग
% निम्न वर्ण को एक कस्टम प्रारूप विनिर्देशक के रूप में परिभाषित करता है।
\ एस्केप कैरेक्टर।

परिणाम स्ट्रिंग में कोई अन्य वर्ण अपरिवर्तित रहता है।

महत्वपूर्ण: एकल-वर्ण कस्टम प्रारूप स्ट्रिंग का उपयोग करते समय, आपको इसे प्रतिशत चिह्न (%) के साथ जोड़ना चाहिए ) वैकल्पिक रूप से, आप एक स्थान जोड़ सकते हैं। यदि आप ऐसा नहीं करते हैं, तो आपको या तो NULL मिलेगा, या प्रारूप विनिर्देशक को एक मानक प्रारूप विनिर्देशक के रूप में व्याख्यायित किया जा सकता है, और आपको अनपेक्षित परिणाम मिलेंगे।

कस्टम प्रारूप स्ट्रिंग क्या हैं?

एक कस्टम प्रारूप स्ट्रिंग में एक या अधिक कस्टम प्रारूप विनिर्देशक होते हैं। उपरोक्त तालिका एक स्ट्रिंग में दिनांक और समय मानों को स्वरूपित करने के लिए उपलब्ध कस्टम प्रारूप विनिर्देशों को सूचीबद्ध करती है।

मानक दिनांक और समय प्रारूप स्ट्रिंग भी हैं। इनमें से प्रत्येक एक कस्टम प्रारूप स्ट्रिंग के लिए एक उपनाम है। मानक प्रारूप स्ट्रिंग में एकल प्रारूप विनिर्देशक होता है, इसलिए वे उपयोग करने में तेज़ होते हैं (लेकिन कस्टम प्रारूप स्ट्रिंग की तुलना में कम लचीले होते हैं)।

कोई भी प्रारूप स्ट्रिंग जो मानक दिनांक और समय प्रारूप स्ट्रिंग नहीं है, उसे कस्टम दिनांक और समय प्रारूप स्ट्रिंग के रूप में व्याख्यायित किया जाता है।

उपयोग का उदाहरण

जिस तरह से कस्टम प्रारूप विनिर्देशक काम करते हैं, वह यह है कि FORMAT() का उपयोग करते समय आप कस्टम प्रारूप स्ट्रिंग बनाने के लिए उन्हें एक साथ जोड़ सकते हैं। समारोह। यह निर्धारित करता है कि परिणाम कैसे स्वरूपित किया जाता है।

यहां कुछ उदाहरण दिए गए हैं:

DECLARE @date datetimeoffset;
SET @date = '2080-05-01 23:09:08.1234567 +07:00';
SELECT 
  FORMAT(@date, 'd, MMM yy') AS 'd, MMM yy',
  FORMAT(@date, 'dd, MMMM yyyy') AS 'dd, MMMM yyyy',
  FORMAT(@date, 'dddd, MMM dd yyyy') AS 'dddd, MMM dd yyyy',
  FORMAT(@date, 'hh:mm:ss') AS 'hh:mm:ss',
  FORMAT(@date, 'hh:mm tt') AS 'hh:mm tt';

परिणाम:

+-------------+-----------------+------------------------+------------+------------+
| d, MMM yy   | dd, MMMM yyyy   | dddd, MMM dd yyyy      | hh:mm:ss   | hh:mm tt   |
|-------------+-----------------+------------------------+------------+------------|
| 1, May 80   | 01, May 2080    | Wednesday, May 01 2080 | 11:09:08   | 11:09 PM   |
+-------------+-----------------+------------------------+------------+------------+

तो यह आपके दिनांक और समय को प्रस्तुत करने के तरीके में बहुत अधिक लचीलेपन की अनुमति देता है।

यहां एक प्रारूप स्ट्रिंग का उपयोग करने का एक उदाहरण दिया गया है जिसमें एकल प्रारूप विनिर्देशक शामिल है।

DECLARE @date datetimeoffset;
SET @date = '2080-05-01 23:09:08.1234567 +07:00';
SELECT 
  FORMAT(@date, '%d') AS '%d',
  FORMAT(@date, '%M') AS '%M',
  FORMAT(@date, '%K') AS '%K',
  FORMAT(@date, '%z') AS '%z';

परिणाम:

+------+------+--------+------+
| %d   | %M   | %K     | %z   |
|------+------+--------+------|
| 1    | 5    | +07:00 | +7   |
+------+------+--------+------+

जैसा कि उल्लेख किया गया है, आपको NULL प्राप्त करने से बचने के लिए इन्हें प्रतिशत चिह्न के साथ जोड़ना चाहिए और ताकि प्रारूप विनिर्देशक अनजाने में मानक प्रारूप स्ट्रिंग के रूप में व्याख्या न करें।

अगर मैं पिछले उदाहरण से प्रतिशत चिह्न हटा दूं तो क्या होगा:

DECLARE @date datetimeoffset;
SET @date = '2080-05-01 23:09:08.1234567 +07:00';
SELECT 
  FORMAT(@date, 'd') AS 'd',
  FORMAT(@date, 'M') AS 'M',
  FORMAT(@date, 'K') AS 'K',
  FORMAT(@date, 'z') AS 'z';

परिणाम:

+----------+-------+------+------+
| d        | M     | K    | z    |
|----------+-------+------+------|
| 5/1/2080 | May 1 | NULL | NULL |
+----------+-------+------+------+

हमें बिल्कुल अलग परिणाम मिलता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (T-SQL) में किसी क्वेरी में संयोजन को कैसे निर्दिष्ट करें

  2. एसक्यूएल:बिट या चार बेहतर क्या है (1)

  3. दो तिथियों के बीच लापता तिथियों को सम्मिलित करने के लिए टैली तालिका? एसक्यूएल

  4. SQL सर्वर में लॉगऑन ट्रिगर

  5. SQL सर्वर में ट्रिगर इवेंट प्रकारों को सूचीबद्ध करने के लिए sys.trigger_event_types का उपयोग करें