在MySQL服務器「YEAR」數據類型的範圍是1000〜9999。如果我們轉換9999爲二進制它採取2字節那麼如何MySQL服務器能夠將其存儲在1字節「YEAR」數據類型如何只拿1 MySQL服務器字節
2
A
回答
7
初始斷言是不正確的。
YEAR type只有支持從1901年到21515年的年份。 (在comparisson中,DATE and DATETIME types支持年的範圍內從1000..9999)
在範圍[可以指定YEAR值] 1901至2155
只需要一個字節在此範圍內存儲不同的整數(2155-1901 + 1 = 255)。全年限於1901年至21515年,通過使用從1900年開始的隱含偏移量來計算:year = 1900 + stored_year_byte
。
MySQL還支持「無效年份」標記值(0),顯示爲「0000」,這就是爲什麼不允許1900年。
2
YEAR類型是用於表示年份值的1-byte
類型。它可以聲明爲YEAR(2)或YEAR(4)來指定顯示寬度爲兩個或四個字符。如果未給出寬度,則默認值爲四個字符
YEAR(4) and YEAR(2)
具有不同的顯示格式,但具有相同的值範圍。
對於4-digit format
,MySQL的顯示YEAR值在YYYY格式,到2155的範圍內的1901,或0000。
對於2-digit format
,MySQL的顯示僅僅最後兩個(最低顯著)數字;例如70(1970或2070)或69(2069)。
可以在多種格式指定YEAR值:
String length |Range
4-digit string | '1901' to '2155'.
4-digit number |1901 to 2155.
1- or 2-digit string |'0' to '99'. Values in the ranges '0' to '69' and '70' to '99' are converted to YEAR values in the ranges 2000 to 2069 and 1970 to 1999.
1- or 2-digit number |1 to 99. Values in the ranges 1 to 69 and 70 to 99 are converted to YEAR values in the ranges 2001 to 2069 and 1970 to 1999.
http://dev.mysql.com/doc/refman/5.0/en/year.html
http://docs.oracle.com/cd/E19078-01/mysql/mysql-refman-5.0/data-types.html#year
相關問題
- 1. 1個字節整數數據類型
- 2. 如何比較MYSQL中的YEAR類型?
- 3. UDP服務器只發送0字節的數據
- 4. 如何在mysql數據庫中創建TINYINT(1)數據類型?
- 5. UA OPC服務器數據類型
- 6. SQL服務器:varchar數據類型
- 7. SQL-服務器時間數據類型
- 8. 服務器端formdata的數據類型
- 9. 如何使CIN只拿數字
- 10. 如何在wso2數據服務中定義web服務類型
- 11. mysql字段數據類型
- 12. 查詢只拿到1排
- 13. OPC UA如何從服務器讀取數據類型
- 14. 數據類型長 - 拿什麼高低
- 15. 列表類型的Sql服務器數據類型
- 16. Java套接字 - 如何確定服務器端的數據類型?
- 17. Sqoop Hive字符串數據類型到MS SQL服務器類型
- 18. 從服務器MySql數據庫更新本地服務器MySql數據庫
- 19. 如何確定MongoDB服務器類型
- 20. Java數據類型到字節數組
- 21. $ date + 1 year?
- 22. 套接字編程 - 如何讓服務器只存儲數字
- 23. 從1臺Web服務器+ 1臺數據庫服務器擴大規模
- 24. Selenium服務器 - 只接受1個IP
- 25. Advantage數據庫服務器(ADS)CIChar數據類型ISNULL
- 26. SQL服務器數據庫中的主鍵數據類型
- 27. 如何以字節格式向服務器發佈字符串數據?
- 28. 上傳字節數組WCF服務器
- 29. JSON數據類型 - 數字在到達服務器時轉換爲字符串
- 30. WCF服務的類型(ajax,數據服務,標準服務等)