aws Aurora MySQL 5.7에서 8 업그레이드 하면서 나온 에러 date 컬럼에 where '' 했더니 에러 하지만 '0000-00-00' 검색 됨 . 이유는 고마우신분이 작성한 글 내용 MySQL 서버에서 sql_mode 옵션에 NO_ZERO_DATE 옵션과, NO_ZERO_IN_DATE 옵션이 존재한다. 이 2개 옵션은 다음과 같이 동작한다. NO_ZERO_DATE enable: 0000-00-00 값을 invalid date로 인식한다. disable: 0000-00-00 값을 저장할 수 있다. NO_ZERO_IN_DATE enable: date의 month 또는 day 부분에 0이 입력되면 invalid date로 인식한다. disable: 2022-12-00 또는 2022-00-01과 같은 형태의 date 입력이 가능하다. MySQL 5.7, 8.0 이상의 버전에서는 아래와 같은 테이블을 생성하고 데이터를 넣지 않은 상태에서 mysql > CREATE TABLE `new_table` ( `id_table` int(11) NOT NULL AUTO_INCREMENT, `text_table` varchar(45) DEFAULT NULL, `date_table` date DEFAULT NULL, PRIMARY KEY (`id_table`) ) ENGINE=InnoDB 다음의 WHERE절 조건을 가진 쿼리를 수행하면, mysql > SELECT id_table, text_table FROM new_table WHERE date_table = '' OR mysql > SELECT id_table, text_table FROM new_table WHERE date_table = '0000-00-00' Incorrect date value라는 오류가 발생한다. 데이터를 넣는 경우에도 마찬가지이다. 반면에 MySQL 5.6 버전 에서는 경고(Warning)...