這是MySQL 5實力養成暨評量裡的3-61.『欄位為時間日期資料型態YEAR時,有效範圍為何?』
答案:(A) 1901~2155
這一題也算是詭異的,但是如果我們可以知道它是一個Byte儲存的話,就可以知道有256的空間記憶,而(A)是最接近的答案,但是我們還是看一下手冊的解釋吧。
MySQL 5.7 Reference Manual :: 11 Data Types :: 11.3 Date and Time Types :: 11.3.3 The YEAR Type
或
MySQL 5.1参考手册 :: 11. 列类型::11.3. 日期和时间类型::11.3.3. YEAR类型
轉譯成繁體如下:
YEAR型態是一個單一位元組型態用於資料表示年。
MySQL以YYYY格式檢索和顯示YEAR值。範圍是1901到2155。
可以指定各種格式的YEAR值:
· 四位字串,範圍為’1901’到’2155’。
· 四位數字,範圍為1901到2155。
· 兩位字串,範圍為’00’到’99’。’00’到’69’和’70’到’99’範圍的值被轉換為2000到2069和1970到1999範圍的YEAR值。
· 兩位整數,範圍為1到99。1到69和70到99範圍的值被轉換為2001到2069和1970到1999範圍的YEAR值。請注意兩位整數範圍與兩位字串範圍稍有不同,因為您不能直接將零指定為數字並將它解釋為2000。您必須將它指定為一個字串’0’或’00’或它被解釋為0000。
· 函數返回的結果,其值適合YEAR上下文,例如NOW()。
非法YEAR值被轉換為0000。
這個資料型態頗為難堪,只能用到2155年嗎?