282
iPhone_iPad_Mac_手機_平板_蘋果apple
字符串類型__數據類型_SQL語法參考_雲數據庫 OceanBase-阿裏雲
字符類型 | 字節 | 說明 |
CHAR | 0-255 | CHAR列的長度固定為創建表時聲明的長度。 長度可以為從0到255的任何值。 |
VARCHAR | 0-262143 | VARCHAR的最大實際長度由最長的行的大小和使用的字符集確定。 最大有效長度是256K,區別於MySQL的64K。 |
BINARY | 0-255 | 類似於CHAR類型,但保存二進製字節字符串而不是非二進製字符串。 |
VARBINARY | 0-262143 | 類似於VARCHAR類型,但保存二進製字節字符串而不是非二進製字符串。 |
CHAR
CHAR[(M)] [CHARACTER SET charsetname] [COLLATE collationname]
CHAR列的長度固定為創建表時聲明的長度。長度可以為從 0 到 255 的任何值。 當保存 CHAR 值時,在它們的右邊填充空格以達到指定的長度。當檢索到 CHAR 值時, 尾部的空格被刪除掉。在存儲或檢索過程中不進行大小寫轉換。
若沒有指定長度,則是CHAR(1)的同義詞。
OceanBase 1.0中Char和Varchar數據類型在內部都是變長存儲。
CHAR是CHARACTER的簡寫。
VARCHAR
VARCHAR(M) [CHARACTER SET charsetname] [COLLATE collationname]
變長字符串。M表示最大列長度。VARCHAR的最大實際長度由最長的行的大小和使用的字符集確定。最大有效長度是256K(262,144字節)。假設係統使用UTF8MB4字符集,每個字符占用4字節,M最大值為:(1024*256)/4 = 65536 (字符)。則M的範圍是0到65536。
如果分配給CHAR或VARCHAR列的值超過列的最大長度,則對值進行裁剪以使其適合。如果被裁掉的字符是空格,則可以成功插入。如果裁剪非空格字符,則會造成錯誤(而不是警告)並通過使用嚴格SQL模式禁用值的插入。
VARCHAR是字符CHAR VARYING的簡寫。
varchar類型最大長度限製:
建表的時候,檢查varchar類型主鍵長度之和小於等於16K,且總長度小於1.5M,否則報錯;
建立索引的時候,索引表中varchar類型主鍵之和小於等於16K,且總長度小於1.5M,否則不允許建立索引;
單個varchar列長度小於256K。
CHAR和VARCHAR的區別:
同CHAR對比,VARCHAR值保存時隻保存需要的字符數,另加一到三個字節來記錄長度。
下麵的表顯示了將各種字符串值保存到CHAR(4)和VARCHAR(4)列後的結果,說明 了CHAR和VARCHAR之間的差別:
值 | CHAR(4) | 存儲需求 | VARCHAR(4) | 存儲需求 |
---|---|---|---|---|
'' | ' ' | 4 個字節 | '' | 1 個字節 |
'ab' | 'ab ' | 4 個字節 | 'ab ' | 3 個字節 |
'abcd' | 'abcd' | 4 個字節 | 'abcd' | 5 個字節 |
'abcdefgh' | 'abcd' | 4 個字節 | 'abcd' | 5 個字節 |
上表最後一行僅限於沒有使用嚴格SQL模式的情況下,若使用了嚴格SQL模式,會直接報錯,並非存儲截斷的字符串。
BINARY, VARBINARY
BINARY和VARBINARY類似CHAR和VARCHAR,不同的是它們包含二進製字符串而不要非二進製字符串。也就是說,它們包含字節字符串而不是字符字符串。這說明它們沒有字符集,並且排序和比較基於列值字節的數值值。
BINARY和VARBINARY允許的最大長度一樣,如同CHAR和VARCHAR,不同的是BINARY和VARBINARY的長度是字節長度而不是字符長度。
最後更新:2016-11-23 16:03:54
上一篇:
數值類型__數據類型_SQL語法參考_雲數據庫 OceanBase-阿裏雲
下一篇:
時間日期類型__數據類型_SQL語法參考_雲數據庫 OceanBase-阿裏雲
停用伸縮組__伸縮組_用戶指南_彈性伸縮-阿裏雲
查看服務實例__應用API列表_API參考_容器服務-阿裏雲
配置示例__EDAS 中的 Dubbo 開發_開發者指南_企業級分布式應用服務 EDAS-阿裏雲
下載、安裝阿裏雲新版Java SDK__SDK 參考_雲服務器 ECS-阿裏雲
多應用共享公網帶寬__最佳實踐_用戶指南_專有網絡 VPC-阿裏雲
在線自助實驗介紹__在線自助實驗_上雲培訓-阿裏雲
百度聯手奇瑞打造全新人工智能汽車,阿裏雲推出FPGA計算實例,提供人工智能加速服務
批量修改解析記錄__批量管理接口_API文檔_雲解析-阿裏雲
Demo 環境準備__MQ Demo 工程_消息隊列 MQ-阿裏雲
SystemParameter__數據類型_API_API 網關-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲