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
'프로그램 개발(분석, 설계, 코딩, 배포) > 100. 기타' 카테고리의 다른 글
| DB에서 CLOB과 BLOB을 쓰는 목적과 용도? (0) | 2025.11.14 |
|---|---|
| Kafka-UI Tool 을 이용하여 Kafka 관리하기 (0) | 2025.11.12 |
| VMware VDI 환경 Oracle XE 설치 가이드 (0) | 2025.11.08 |
| UVM 구성하는 방법 (0) | 2025.11.08 |
| Datastore 해제 작업 (0) | 2025.11.08 |