Heim >Datenbank >MySQL-Tutorial >Warum ist es in MySQL keine gute Praxis, Datumswerte mit zweistelligen Jahreszahlen zu verwenden?

Warum ist es in MySQL keine gute Praxis, Datumswerte mit zweistelligen Jahreszahlen zu verwenden?

PHPz
PHPznach vorne
2023-09-06 20:25:021415Durchsuche

为什么在 MySQL 中使用两位数年份的日期值不是一个好习惯?

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 –

  • Jahreswerte im Bereich 00-69 werden in 2000-2069 umgewandelt.
  • Jahreswerte im Bereich 70-99 werden in 1970-1999 umgewandelt.
  • ul>

    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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen