मुझे SQL में इन कथनों का सामना करना पड़ा और मुझे समझ नहीं आया कि CAST फ़ंक्शन का उपयोग करके आउटपुट क्या होगा?
ये कथन हैं:
cast(date_var - 19000000 as DATE) + 1 as integer
क्या यह आउटपुट date_var के अगले दिन होगा?
cast(substr('date_var',1,6) || '01' as integer) - 10000
मैं इस पर अधिक उलझन में हूं कि इस पर आउटपुट क्या होगा?
2 जवाब
CAST या CONVERT स्पष्ट रूप से एक मान रूप को एक डेटा प्रकार से दूसरे में परिवर्तित करें।
एसक्यूएल सिंटेक्स 1:
CONVERT( datatype, expression [, style] )
एसक्यूएल सिंटेक्स 2:
CAST( expression AS datatype )
पैरामीटर्स: व्यंजक किसी भी प्रकार का कोई व्यंजक। डाटा प्रकार
नया डेटा प्रकार। यह पैरामीटर एक अभिव्यक्ति नहीं है।
अंदाज
MS SQL सर्वर के साथ संगत के लिए एक पूर्णांक मान।
एस्केप सिंटैक्स:
{fn CONVERT( expression, datatype )}
वापसी प्रकार: पैरामीटर डेटाटाइप के साथ निश्चित। उदाहरण:
SELECT convert( varchar(30), price )
SELECT convert( nvarchar(30), now(), 102)
SELECT {fn convert( {fn now()}, nvarchar(30))}
SELECT cast( price as varchar(30)
CAST()
फ़ंक्शन किसी भी प्रकार के मान को एक निर्दिष्ट प्रकार वाले मान में परिवर्तित करता है।
लक्ष्य प्रकार निम्न में से कोई एक प्रकार का हो सकता है: बाइनरी, चार, दिनांक, दिनांक समय, समय, दशमलव, हस्ताक्षरित, अहस्ताक्षरित।
वाक्य रचना:- CAST(expr AS type)
उदा: -1
mysql> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2017-02-06 10:49:00 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT CAST(NOW() as DATE);
+---------------------+
| CAST(NOW() as DATE) |
+---------------------+
| 2017-02-06 |
+---------------------+
1 row in set (0.00 sec)
उदा: -2
mysql> SELECT CAST(-1 as signed);
+--------------------+
| CAST(-1 as signed) |
+--------------------+
| -1 |
+--------------------+
1 row in set (0.00 sec)
mysql> SELECT CAST(-1 as unsigned);
+----------------------+
| CAST(-1 as unsigned) |
+----------------------+
| 18446744073709551615 |
+----------------------+
1 row in set (0.00 sec)
संबंधित सवाल
नए सवाल
sql
संरचित क्वेरी भाषा (एसक्यूएल) डेटाबेस को क्वेरी करने के लिए एक भाषा है। प्रश्नों में कोड उदाहरण, तालिका संरचना, नमूना डेटा और DBMS कार्यान्वयन के लिए एक टैग (जैसे MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2, आदि) का उपयोग किया जाना चाहिए। यदि आपका प्रश्न केवल एक विशिष्ट DBMS (विशिष्ट एक्सटेंशन / सुविधाओं का उपयोग करता है) से संबंधित है, तो इसके बजाय उस DBMS के टैग का उपयोग करें। एसक्यूएल के साथ टैग किए गए सवालों के जवाब में आईएसओ / आईईसी मानक एसक्यूएल का उपयोग करना चाहिए।