Loading...
MySQL 9.5 Reference Manual 9.5의 13.2.3 The TIME Type의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL은 TIME 값을 'hh:mm:ss' 형식(또는 큰 시간 값에 대해서는 'hhh:mm:ss' 형식)으로 조회하고 표시합니다. TIME 값의 범위는 '-838:59:59'에서 '838:59:59'까지입니다. TIME 타입은 하루 중 특정 시각(24시간 미만이어야 함)을 표현하는 데뿐만 아니라, 경과 시간 또는 두 이벤트 사이의 시간 간격(24시간보다 훨씬 크거나 심지어 음수일 수도 있음)을 표현하는 데 사용할 수 있기 때문에 시간(hour) 부분이 매우 클 수 있습니다.
MySQL은 여러 형식의 TIME 값을 인식하며, 이들 형식 중 일부는 최대 마이크로초(6자리) 정밀도의 소수 초(fractional seconds) 부분을 뒤에 포함할 수 있습니다. 자세한 내용은 Section 11.1.3, “Date and Time Literals”을 참조하십시오. MySQL에서 소수 초 지원에 대한 정보는 Section 13.2.6, “Fractional Seconds in Time Values”을 참조하십시오. 특히, 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분 후를 나타내는) '11:12:00'으로 생각할 수도 있지만, 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 값에 대해 더 엄격한 처리를 하려면 strict SQL 모드를 활성화하여 에러가 발생하도록 하십시오. Section 7.1.11, “Server SQL Modes”을 참조하십시오.
13.2.2 The DATE, DATETIME, and TIMESTAMP Types
13.2.4 The YEAR Type