Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

잘못된 날짜와 함께 INTERVAL 키워드를 사용하는 경우 MySQL은 어떻게 작동합니까?

<시간/>

실제로 MySQL의 동작은 allow_invalid_dates에 따라 다릅니다. 방법. 이 모드가 활성화되면 MySQL은 유효하지 않은 날짜를 수락하고 유효한 날짜로 수행할 때 날짜 산술을 수행합니다. 그렇지 않고 이 모드가 비활성화되면 유효하지 않은 날짜를 허용하지 않고 출력으로 NULL을 생성합니다.

<미리>mysql> select '2017-02-30' + INTERVAL 7일;+---------------------------------------------------------- +| '2017-02-30' + INTERVAL 7일 |+------------------------------------------------------------+| NULL |+-------------------------------+1 행 세트, 1 경고(0.00초)

이제 allow_invalid_date를 활성화한 후 모드 MySQL은 유효하지 않은 날짜를 수락하고 다음과 같이 날짜 산술을 수행합니다. -

mysql> set sql_mode =allow_invalid_dates;Query OK, 영향을 받는 행 0개(0.05초)mysql> select '2017-02-30' + INTERVAL 7일;+-------------- ------------------+| '2017-02-30' + INTERVAL 7일 |+------------------------------------------------------------+| 2017-03-09 |+-------------------------------+1행 세트(0.00초)mysql> 선택 '2017-11-31' + INTERVAL 7일;+------------------------------------------------------------+| '2017-11-31' + INTERVAL 7일 |+------------------------------------------------------------+| 2017-12-08 |+-------------------------------+1행 세트(0.00초)