>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 두 자리 연도의 날짜 값을 사용하는 것이 왜 좋지 않습니까?

MySQL에서 두 자리 연도의 날짜 값을 사용하는 것이 왜 좋지 않습니까?

PHPz
PHPz앞으로
2023-09-06 20:25:021446검색

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

우리 모두 알고 있듯이 YEAR(2)는 연도를 2자리 형식으로 저장합니다. 예를 들어, 1969를 연도로 저장하기 위해 69를 쓸 수 있습니다. YEAR(2)에는 1970년부터 2069년까지(70~69) 연도를 지정할 수 있습니다.

MySQL은 다음 규칙을 사용하여 2자리 연도 값을 해석합니다.

  • 00-69 범위의 연도 값은 2000-2069로 변환됩니다.
  • 70-99 범위의 연도 값은 1970-1999로 변환됩니다.
  • ul>

    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)

    00을 "val"에 저장하면 "1900" 또는 "2000" 중 어느 연도를 참조하는지 확실하지 않습니다. MySQL은 이를 2000년으로 해석합니다.

위 내용은 MySQL에서 두 자리 연도의 날짜 값을 사용하는 것이 왜 좋지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제