文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


13.2.3 TIME 類型

MySQL 以 'hh:mm:ss' 格式(對於較大的小時值,則為 'hhh:mm:ss' 格式)擷取和顯示 TIME 值。TIME 值的範圍可能從 '-838:59:59''838:59:59'。小時部分可能很大,因為 TIME 類型不僅可以用於表示一天中的時間(必須小於 24 小時),還可以用於表示經過的時間或兩個事件之間的時間間隔(可能遠大於 24 小時,甚至為負數)。

MySQL 辨識幾種格式的 TIME 值,其中一些格式可以包含尾隨的小數秒部分,精確度可達微秒(6 位數)。請參閱 第 11.1.3 節,「日期和時間常值」。關於 MySQL 中小數秒的支援資訊,請參閱 第 13.2.6 節,「時間值中的小數秒」。特別是,插入到 TIME 欄位的任何值中的小數部分都會被儲存,而不是捨棄。包含小數部分時,TIME 值的範圍為 '-838:59:59.000000''838:59:59.000000'

請謹慎將縮寫值指派給 TIME 欄位。MySQL 將帶有冒號的縮寫 TIME 值解讀為一天中的時間。也就是說,'11:12' 表示 '11:12:00',而不是 '00:11:12'。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 模式,以導致發生錯誤。請參閱 第 7.1.11 節,「伺服器 SQL 模式」