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 모드" 를 참조하십시오.