असल में, आप भी कर सकते हैं documentation स्पष्टीकरण के बावजूद वर्ष 1000 MySQL में नीचे दुकान दिनांक:
mysql> describe test;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| birth | date | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
-आप अभी भी YYYY प्रारूप में इनपुट साल की जरूरत है:
mysql> insert into test values (1, '0995-03-05');
Query OK, 1 row affected (0.02 sec)
mysql> select * from test;
+------+------------+
| id | birth |
+------+------------+
| 1 | 0995-03-05 |
+------+------------+
1 row in set (0.00 sec)
आप -और दिनांक:
के साथ इसे संचालित करने में सक्षम हो जाएगा
सुरक्षा के लिए। मैंने कभी किसी मामले का सामना नहीं किया है जब यह MySQL 5.x में काम नहीं करेगा (कारण, इसका मतलब यह नहीं है कि यह 100% काम करेगा, लेकिन कम से कम यह कुछ संभावना के साथ विश्वसनीय है)
बीसी तिथियों के बारे में (मसीह के नीचे)। मुझे लगता है कि यह आसान है - MySQL में नकारात्मक दिनांकों को संग्रहीत करने के लिए कोई रास्ता नहीं है। अर्थात। आपके द्वारा हस्ताक्षरित पूर्णांक क्षेत्र के रूप में अलग से दुकान साल की आवश्यकता होगी:
mysql> select '0001-05-04' - interval 1 year as above_bc, '0001-05-04' - interval 2 year as below_bc;
+------------+----------+
| above_bc | below_bc |
+------------+----------+
| 0000-05-04 | NULL |
+------------+----------+
1 row in set, 1 warning (0.00 sec)
mysql> show warnings;
+---------+------+--------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------+
| Warning | 1441 | Datetime function: datetime field overflow |
+---------+------+--------------------------------------------+
1 row in set (0.00 sec)
लेकिन मुझे लगता है, किसी भी मामले में (नीचे/वर्ष 0 ऊपर) यह उस मामले में पूर्णांक के रूप में की दुकान तारीख भागों में बेहतर है - यह भरोसा नहीं होगा अनियंत्रित सुविधा के लिए। हालांकि, आपको उन 3 फ़ील्डों के साथ काम करने की आवश्यकता होगी, जो तिथियों के रूप में नहीं हैं (इसलिए, कुछ अर्थों में यह आपकी समस्या का समाधान नहीं है)
स्रोत
2013-09-06 09:55:30
इस तरह के मामलों में, आप एक अलग डेटाबेस का उपयोग पर विचार हो सकता; शायद PostgreSQL आपको जिस तारीख सीमा की आवश्यकता है, प्रदान कर सकता है? ([डॉक्स] (http://www.postgresql.org/docs/current/static/datatype-datetime.html) एक उल्लेखनीय रूप से अधिक तिथि सीमा लागू करने के लिए प्रतीत होता है) – Spudley
@ स्प्डले: ओरेकल, डीबी 2, फायरबर्ड डॉन ' उस सीमा भी नहीं है। तो बहुत सारे विकल्प हैं। –
@a_horse_with_no_name - PostgreSQL mySQL के बाद सबसे प्रसिद्ध ओपन सोर्स डीबी है, लेकिन हाँ, बहुत सारे विकल्प हैं। – Spudley