본문 바로가기
프로그램 개발(분석, 설계, 코딩, 배포)/100. 기타

mariadb datetime sql 1292 truncated incorrect datetime value 오류

by 3604 2025. 11. 10.
728x90

MariaDB에서 "1292 truncated incorrect datetime value" 오류는 주로 DATETIME 값의 형식이 올바르지 않을 때 발생합니다. 질문에서 제시한 값인 '2025-11-07 13:45:40:000'은 밀리초(마지막 :000 부분)가 붙어 있는데, MariaDB의 표준 DATETIME 타입은 'YYYY-MM-DD HH:MM:SS'까지만 허용하며, 밀리초(:000)는 지원하지 않습니다.

해결 방법

  • 비교하려는 문자열을 DATETIME 형식인 'YYYY-MM-DD HH:MM:SS'로 맞춰줘야 합니다.
  • 필요하다면, SUBSTRING이나 STR_TO_DATE() 함수를 사용해 값을 변환해서 비교할 수 있습니다.

예시:

 
sql
SELECT * FROM 테이블명 WHERE datetime_column = STR_TO_DATE('2025-11-07 13:45:40:000', '%Y-%m-%d %H:%i:%s:000')
  • 위 쿼리에서 밀리초를 무시하려면 '2025-11-07 13:45:40'와 같이 뒤에 :000을 제거하시거나, LEFT(값, 19)로 잘라서 비교하세요.
  • 또는, 값이 항상 동일한 패턴이라면 아래처럼 사용할 수 있습니다.
 
sql
SELECT * FROM 테이블명 WHERE datetime_column = LEFT('2025-11-07 13:45:40:000', 19)

요약

  • DATETIME 컬럼에는 'YYYY-MM-DD HH:MM:SS' 형태까지만 넣거나 비교해야 하며, :000(밀리초)는 제거해야 합니다.
  • 밀리초까지 필요하다면, DATETIME 대신 DATETIME(3), TIMESTAMP(3) 등 미지원 MariaDB 버전에서는 별도의 컬럼 분리가 요구됩니다
728x90