11.3.2 TIME형
MySQL에서는 TIME 값의 취득과 표시는 'HH:MM:SS' 형식 (시간 부분의 값이 큰 경우 'HHH:MM:SS' 형식)에서 이루어집니다. TIME 값의 범위는 '-838:59:59' 에서 '838:59:59' 입니다. TIME 형은 시간 (24 시간 이하로해야합니다)를 나타내는뿐만 아니라 경과 시간이나 두 이벤트 사이의 시간 (24 시간보다 길어질 경우에도 음수가 될 수도 있습니다) 를 나타낼 수 있기 때문에 시간 부분은 매우 커질 수 있습니다.
MySQL이 TIME 값을 인식 형식은 다수있어, 그 일부는 마이크로 세컨드 (6 초)까지의 정밀도로 후속 소수 초 부분을 포함 할 수 있습니다. 섹션 9.1.3 "날짜 리터럴과 시간 리터럴" 을 참조하십시오. MySQL의 소수 초 지원 자세한 내용은 섹션 11.3.6 "시간 값의 소수 초" 를 참조하십시오. 특히, MySQL 5.6.4 이후에서는 TIME 컬럼에 삽입 된 값의 소수부는 모두 파기되지 않고 저장됩니다. 소수가 포함되어있는 경우 TIME 값의 범위는 '-838:59:59.000000' 에서 '838:59:59.000000' 입니다.
TIME 컬럼에 생략 된 값을 지정할 때는주의하십시오. MySQL은 콜론의 생략 된 TIME 값을 시간으로 해석합니다. 즉, '11:12' 은 '00:11:12' 대신 '11:12:00' 을 의미합니다. MySQL은 오른쪽의 두 자리는 초를 나타내는 가정을 사용하여 (즉, 시간으로 아니라 시간이 지날수록), 콜론없이 생략 된 값을 해석합니다. 예를 들어 '1112' 와 1112 은 '11:12:00' (11시 12 분)을 나타내는 듯하지만 MySQL은 '00:11:12' (11 분 12 초)으로 해석됩니다. 마찬가지로, '12' 과 12 는 '00:00:12' 으로 해석됩니다.
시간 부분과 소수 초 부분 사이의 구분 기호로 인식되는 유일한 문자가 소수점입니다.
기본적으로 TIME 범위 밖에 있지만, 그 이외는 유효한 값은 범위의 가장 가까운 끝으로 잘려 있습니다. 예를 들어, '-850:00:00' 와 '850:00:00' 은 각각 '-838:59:59' 와 '838:59:59' 으로 변환됩니다. 잘못된 TIME 값은 '00:00:00' 으로 변환됩니다. '00:00:00' 은 그 자체가 유효한 TIME 값이므로, 원래 값이 '00:00:00' 으로 지정된 여부 무효인지 여부, 테이블에 저장된 '00:00:00' 의 값을 확인할 수 없습니다.
잘못된 TIME 값의 제한을 엄격하게하려면 오류가 발생하도록 엄격한 SQL 모드를 사용하십시오. 섹션 5.1.7 "서버 SQL 모드" 를 참조하십시오.