SQL सर्वर में, आप ISDATE()
. का उपयोग कर सकते हैं यह जांचने के लिए कार्य करता है कि कोई मान मान्य दिनांक है या नहीं।
अधिक विशिष्ट होने के लिए, यह फ़ंक्शन केवल यह जांचता है कि मान मान्य है या नहीं तारीख , समय , या डेटाटाइम मान, लेकिन डेटाटाइम2 . नहीं मूल्य। अगर आप एक डेटाटाइम2 . प्रदान करते हैं मान, ISDATE()
आपको बताएगा कि यह कोई तारीख नहीं है (यह 0
लौटाएगा )।
इस लेख में इस फ़ंक्शन के उदाहरण हैं।
सिंटैक्स
सबसे पहले, यहाँ सिंटैक्स है:
ISDATE ( expression )
जहां expression
परीक्षण की जाने वाली अभिव्यक्ति है।
उदाहरण 1 - मान्य तिथि
यहां एक मान्य व्यंजक का उपयोग करने वाला एक उदाहरण दिया गया है:
SELECT ISDATE('2000-01-01') AS Result;
परिणाम:
+----------+ | Result | |----------| | 1 | +----------+
यह देता है 1
, जिसका अर्थ है कि यह एक मान्य तारीख है , समय , या डेटाटाइम मूल्य।
उदाहरण 2 - अमान्य तिथि
यहां एक अमान्य एक्सप्रेशन वाला उदाहरण दिया गया है:
SELECT ISDATE('2000-01-01 00:00:00.0000000') AS Result;
परिणाम:
+----------+ | Result | |----------| | 0 | +----------+
यह 0
returns लौटाता है , जिसका अर्थ है कि यह मान्य नहीं है तारीख , समय , या डेटाटाइम मूल्य।
उदाहरण 3 - वापसी मूल्य का उपयोग करना
आप वापसी मूल्य का उपयोग करने के लिए एक सशर्त विवरण का उपयोग कर सकते हैं (केवल 0
प्रदर्शित करने के बजाय) या 1
)।
यहां एक बुनियादी उदाहरण दिया गया है जहां हम केवल मान्य तिथि print प्रिंट करते हैं या अमान्य तिथि , इस पर निर्भर करता है कि वापसी मूल्य 1
. है या नहीं या 0
:
IF ISDATE('2000-01-01') = 1 PRINT 'Valid Date' ELSE PRINT 'Invalid Date';
परिणाम:
Valid Date
उदाहरण 4 - आपकी भाषा सेटिंग
ISDATE()
. का वापसी मूल्य आपके LANGUAGE
. पर निर्भर करता है और DATEFORMAT
सेटिंग्स।
यह दिखाने के लिए यहां एक उदाहरण दिया गया है कि LANGUAGE
के आधार पर एक ही मान अलग-अलग परिणाम कैसे दे सकता है सेटिंग का इस्तेमाल किया।
ब्रिटिश
SET LANGUAGE British; SELECT ISDATE('20/01/2000') AS '20/01/2000 in British';
परिणाम:
Changed language setting to British. +-------------------------+ | 20/01/2000 in British | |-------------------------| | 1 | +-------------------------+
us_english
SET LANGUAGE us_english; SELECT ISDATE('20/01/2000') AS '20/01/2000 in us_english';
परिणाम:
Changed language setting to us_english. +----------------------------+ | 20/01/2000 in us_english | |----------------------------| | 0 | +----------------------------+
ऐसा इसलिए होता है क्योंकि British
दिन/माह/वर्ष . का उपयोग करता है प्रारूप जबकि us_english
MM/dd/yyy . का उपयोग करता है ।
उदाहरण 5 - आपकी DATEFORMAT सेटिंग
जैसा कि उल्लेख किया गया है, ISDATE()
. का वापसी मूल्य आपके DATEFORMAT
. पर भी निर्भर करता है सेटिंग्स।
यह दिखाने के लिए यहां एक उदाहरण दिया गया है कि कैसे एक ही मान DATEFORMAT
के आधार पर अलग-अलग परिणाम दे सकता है उपयोग की गई सेटिंग।
dmy
SET DATEFORMAT dmy; SELECT ISDATE('20/01/2000') AS '20/01/2000 while DATEFORMAT is dmy';
परिणाम:
+--------------------------------------+ | 20/01/2000 while DATEFORMAT is dmy | |--------------------------------------| | 1 | +--------------------------------------+
एमडीई
SET DATEFORMAT mdy; SELECT ISDATE('20/01/2000') AS '20/01/2000 while DATEFORMAT is mdy';
परिणाम:
+--------------------------------------+ | 20/01/2000 while DATEFORMAT is mdy | |--------------------------------------| | 0 | +--------------------------------------+