Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में YEAR(2) और YEAR(4) में क्या अंतर है?


YEAR(2) वर्ष को 2-अंकीय फॉर्मेट में स्टोर करता है। उदाहरण के लिए, हम 1969 वर्ष स्टोर करने के लिए 69 लिख सकते हैं। YEAR(2) में, वर्ष 1970 से 2069 (70 से 69) तक निर्दिष्ट किया जा सकता है।

YEAR(4) वर्ष को 4-अंकीय फॉर्मेट में स्टोर करता है। उदाहरण के लिए, 1969 वर्ष स्टोर करने के लिए हमें 1969 लिखना होगा। YEAR(4) में, वर्ष 1901 से 2155 तक निर्दिष्ट किया जा सकता है।

MySQL निम्नलिखित नियमों की सहायता से 2-अंकीय वर्ष मानों की व्याख्या करता है:

  • 00-69 की रेंज में वर्ष मान 2000-2069 में बदल जाते हैं।
  • 70-99 की रेंज में वर्ष मान 1970-1999 में बदल जाते हैं।

हमें डेटा मानों को 2-अंकीय फॉर्मेट में स्टोर नहीं करना चाहिए क्योंकि इस फॉर्मेट में स्टोर किए गए मान अस्पष्ट हो जाते हैं क्योंकि शताब्दी अज्ञात होती है।

इसे निम्नलिखित MySQL उदाहरण से अधिक स्पष्ट रूप से समझा जा सकता है:

mysql> CREATE TABLE year_test(val YEAR(2));
Query OK, 0 rows affected, 1 warning (0.23 sec)
mysql> INSERT INTO year_test(val) VALUES('70');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO year_test(val) VALUES('00');
Query OK, 1 row affected (0.06 sec)
mysql> SELECT * FROM year_test;
+------+
| val |
+------+
| 70 |
| 00 |
+------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM year_test WHERE val = '1970';
+------+
| val |
+------+
| 70 |
+------+
1 row in set (0.03 sec)
mysql> SELECT * FROM year_test WHERE val = '2000';
+------+
| val |
+------+
| 00 |
+------+
1 row in set (0.00 sec)
mysql> SELECT * FROM year_test WHERE val = '1900';
Empty set (0.06 sec)

यह अनिश्चित है कि 'val' में 00 स्टोर करके हम '1900' या '2000' किस वर्ष का संकेत देते हैं। MySQL इसे वर्ष 2000 के रूप में व्याख्या कर रहा है।


सिफारिश: अस्पष्टता से बचने के लिए हमेशा YEAR(4) उपयोग करें। MySQL 8.0.19+ में YEAR(2) डिप्रिकेटेड है।

  1. - MySQL में TINYINT(1) और Boolean में क्या अंतर है?

    MySQL में TINYINT(1) और Boolean: कोई अंतर नहीं MySQL में BOOLEAN (या BOOL) वास्तव में TINYINT(1) का एक पर्याय (synonym) है। दोनों आंतरिक रूप से समान हैं। प्रदर्शन: Boolean कॉलम वास्तव में TINYINT(1) बनाता है CREATE TABLE DemoTable ( isMarried BOOLEAN ); DESC DemoTable; आउटपुट: +-----------+--

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl

  1. - C और C++ के बीच अंतर क्या है?

    C और C++ के बीच कुछ अंतर निम्नलिखित हैं।C++ की तुलना में, C, C++ का सबसेट है। सभी वैध C प्रोग्राम वैध C++ प्रोग्राम हैं।C एक संरचनात्मक या प्रक्रियात्मक प्रोग्रामिंग भाषा है, जबकि C++ एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है।C में, फ़ंक्शन्स मौलिक बिल्डिंग ब्लॉक्स हैं, जबकि C++ में, ऑब्जेक्ट्स मौलि