char 與varchar的區別

char 和 varchar 固定長度 (char) 或可變長度 (varchar) 字符數據類型。 char[(n)] 長度爲 n 個字節的固定長度且非 Unicode 的字符數據。n 必須是一個介於 1 和 8,000 之間的數值。存儲大小爲 n 個字節。char 在 SQL-92 中的同義詞爲 character。 varchar[(n)] 長度爲 n 個字節的可變長度且非 Unicode 的字符數據。n 必須是一個介於 1 和 8,000 之間的數值。存儲大小爲輸入數據的字節的實際長度,而不是 n 個字節。所輸入的數據字符長度可以爲零。varchar 在 SQL-92 中的同義詞爲 char varying 或 character varying。 註釋 如果沒有在數據定義或變量聲明語句中指定 n,則默認長度爲 1。如果沒有使用 CAST 函數指定 n,則默認長度爲 30。 將爲使用 char 或 varchar 的對象被指派數據庫的默認排序規則,除非用 COLLATE 子句另外指派了特定的排序規則。該排序規則控制用於存儲字符數據的代碼頁。 支持多語言的站點應考慮使用 Unicode nchar 或 nvarchar 數據類型以儘量減少字符轉換問題。如果使用 char 或 varchar: 如果希望列中的數據值大小接近一致,請使用 char。 如果希望列中的數據值大小顯著不同,請使用 varchar。 如果執行 CREATE TABLE 或 ALTER TABLE 時 SET ANSI_PADDING 爲 OFF,則一個定義爲 NULL 的 char 列將被作爲 varchar 處理。 當排序規則代碼頁使用雙字節字符時,存儲大小仍然爲 n 個字節。根據字符串的不同,n 個字節的存儲大小可能小於 n 個字符。

發佈了36 篇原創文章 · 獲贊 2 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章