關(guān)于varchar和char的區(qū)別效率,varchar和char的區(qū)別這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、char 和 varchar 固定長度 (char) 或可變長度 (varchar) 字符數(shù)據(jù)類型。
2、 char[(n)] 長度為 n 個(gè)字節(jié)的固定長度且非 Unicode 的字符數(shù)據(jù)。
3、n 必須是一個(gè)介于 1 和 8,000 之間的數(shù)值。
4、存儲(chǔ)大小為 n 個(gè)字節(jié)。
5、char 在 SQL-92 中的同義詞為 character。
6、 varchar[(n)] 長度為 n 個(gè)字節(jié)的可變長度且非 Unicode 的字符數(shù)據(jù)。
7、n 必須是一個(gè)介于 1 和 8,000 之間的數(shù)值。
8、存儲(chǔ)大小為輸入數(shù)據(jù)的字節(jié)的實(shí)際長度,而不是 n 個(gè)字節(jié)。
9、所輸入的數(shù)據(jù)字符長度可以為零。
10、varchar 在 SQL-92 中的同義詞為 char varying 或 character varying。
11、 注釋 如果沒有在數(shù)據(jù)定義或變量聲明語句中指定 n,則默認(rèn)長度為 1。
12、如果沒有使用 CAST 函數(shù)指定 n,則默認(rèn)長度為 30。
13、 將為使用 char 或 varchar 的對象被指派數(shù)據(jù)庫的默認(rèn)排序規(guī)則,除非用 COLLATE 子句另外指派了特定的排序規(guī)則。
14、該排序規(guī)則控制用于存儲(chǔ)字符數(shù)據(jù)的代碼頁。
15、 支持多語言的站點(diǎn)應(yīng)考慮使用 Unicode nchar 或 nvarchar 數(shù)據(jù)類型以盡量減少字符轉(zhuǎn)換問題。
16、如果使用 char 或 varchar: 如果希望列中的數(shù)據(jù)值大小接近一致,請使用 char。
17、 如果希望列中的數(shù)據(jù)值大小顯著不同,請使用 varchar。
18、 如果執(zhí)行 CREATE TABLE 或 ALTER TABLE 時(shí) SET ANSI_PADDING 為 OFF,則一個(gè)定義為 NULL 的 char 列將被作為 varchar 處理。
19、 當(dāng)排序規(guī)則代碼頁使用雙字節(jié)字符時(shí),存儲(chǔ)大小仍然為 n 個(gè)字節(jié)。
20、根據(jù)字符串的不同,n 個(gè)字節(jié)的存儲(chǔ)大小可能小于 n 個(gè)字符。
本文分享完畢,希望對大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!