Wie wir alle wissen, speichert YEAR(2) das Jahr im zweistelligen Format. Beispielsweise können wir 69 schreiben, um 1969 als Jahr zu speichern. In YEAR (2) kann das Jahr von 1970 bis 2069 (70 bis 69) angegeben werden.
MySQL interpretiert 2-stellige Jahreswerte mit Hilfe der folgenden Regeln –
Wir können Datumswerte nicht im zweistelligen Format speichern, da in diesem Format gespeicherte Werte aufgrund des unbekannten Jahrhunderts mehrdeutig werden.
Mit Hilfe des folgenden MySQL-Beispiels können Sie es besser verstehen:
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)
Durch die Speicherung von 00 in „val“ sind wir nicht sicher, auf welches Jahr wir uns beziehen, „1900“ oder „2000“. MySQL interpretiert dies als das Jahr 2000.
Das obige ist der detaillierte Inhalt vonWarum ist es in MySQL keine gute Praxis, Datumswerte mit zweistelligen Jahreszahlen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!