vchar和nvchar的區別

2025-03-24 08:50:19 字數 5704 閱讀 6447

1樓:網友

1、 varchar:

可變長度的非 unicode 資料,最長為 8,000 個字元。

2、薯早nvarchar:

可變長度 unicode 資料,其最大長度為 4,000 字元。

nvarchar(n)

包含 n 個字元的可變長度 unicode 字元資料。n 的值必須介於 1 與 4,000 之間。位元組的培敏儲存大小是所輸入字元個數的兩倍。

所輸入的資料字元長度可以為零。nvarchar 在 sql-92 中的配手枝同義詞。

為 national char varying 和 national character varying。

varchar[(n)]

長度為 n 個位元組的可變長度且非 unicode 的字元資料。n 必須是乙個介於 1 和 8,000 之間的數值。儲存大小為輸入資料。

的位元組的實際長度,而不是 n 個位元組。所輸入的資料字元長度可以為零。varchar 在 sql-92 中的同義詞為 char varying 或 character varying。

2樓:網友

乙個是單位元組的乙個是雙位元組的。

char vchar nchar nvchar的區別

3樓:林進鋒

char和varchar的長度都在1到8000之間,它們的區別在於char是定長字元資料,而varchar是變長字元資料。所謂定長就是長度固定的,當輸入的資料長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度達到相應的長度;而變長字元資料則不會以空格填充。text儲存可變長度的非unicode資料,最大長度為2^31-1(2,147,483,647)個字元。

後面三種資料型別和前面的相比,從名稱上看只是多了個字母"n",它表示儲存的是unicode資料型別的字元。字元中,英文字元只需要乙個位元組儲存就足夠了,但漢字眾多,需要兩個位元組儲存,英文與漢字同時存在時容易造成混亂,unicode字符集就是為了解決字符集這種不相容的問題而產生的,它所有的字元都用兩個位元組表示,即英文字元也是用兩個位元組表示。nchar、nvarchar的長度是在1到4000之間。

和char、varchar比較:nchar、nvarchar則最多儲存4000個字元,不論是英文還是漢字;而char、varchar最多能儲存8000個英文,4000個漢字。可以看出使用nchar、nvarchar資料型別時不用擔心輸入的字元是英文還是漢字,較為方便,但在儲存英文時數量上有些損失。

oracle中varchar,varchar2,nvarchar,nvarchar2有什麼區別

4樓:網友

1、varchar/varchar2

varchar是長度不固定的,比如說,你定義了varchar(20),當你插入abc,則在資料庫中只佔3個位元組。

varchar同樣區分中英文,這點同char。

varchar2基本上等同於varchar,它是oracle自己定義的乙個非工業標準varchar,不同在於,varchar2用null代替varchar的空字串。

varchar/varchar2適用於長度不固定的,一般不含中文的情況。

nvarchar和nvarchar2是長度不固定的。

nvarchar不區分中英文,比如說:你定義了nvarchar(20),你可以存入20個英文字母/漢字或中英文組合,這個20定義的是字元數而不是位元組數。

nvarchar2基本上等同於nvarchar,不同在於nvarchar2中存的英文字母也佔兩個位元組。

nvarchar/nvarchar2適用於存放中文。

char [ n )

固定長度,非 unicode 字元資料,長度為 n 個位元組。n 的取值範圍為 1 至 8,000,儲存大小是 n 個位元組。

varchar [ n | max )

可變長度,非 unicode 字元資料。n 的取值範圍為 1 至 8, 指示最大儲存大小是 2^31-1 個位元組。儲存大小是輸入資料的實際長度加 2 個位元組,用於反映儲存的資料的長度。

所輸入資料的長度可以為 0 個字元。

如果列資料項的大小一致,則使用 char。

如果列資料項的大小差異相當大,則使用 varchar。

如果列資料項大小相差很大,而且大小可能超過 8,000 位元組,請使用 varchar(max)

如果未在資料定義或變數宣告語句中char 或 varchar 資料型別指定 n,則預設長度為 1。如果在使用cast 和 convert 函式時char 或 varchar 資料型別未指定 n,則預設長度為 30。

當執行 create table 或 alter table 時,如果 set ansi_padding 為 off,則定義為 null 的 char 列將作為varchar 處理。

sql中varchar和nvarchar有什麼區別?

5樓:墨汁諾

sql中varchar和nvarchar區別:輸入不同,含義不同。

一、輸入不同:

varchar(4)可以輸入4個字線,也可以輸入兩個漢字。

nvarchar(4)可以輸四個漢字,也可以輸4個字母,但最多四個。

二、含義不同:

varchar(n)長度為n個位元組的可變長度且非unicode的字元資料。n必須是乙個介於1和8,000之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是n個位元組。

nvarchar(n)包含n個字元的可變長度unicode字元資料。n的值必須介於1與4,000之間。位元組的儲存大小是所輸入字元個數的兩倍。

字元資料型別。

varchar是變長字元資料,其長度不超過是定長字元資料,其長度最多為8kb。超過8kb的ascii資料可以使用text資料型別儲存。例如,因為html文件全部都是ascii字元,並且在一般情況下長度超過8kb,所以這些文件可以text資料型別儲存在sqlserver中。

在sqlserver中,unicode資料以nchar、nvarchar和ntext資料型別儲存。使用這種字元型別儲存的列可以儲存多個字符集中的字元。當列的長度變化時,應該使用nvarchar字元型別,這時最多可以儲存4000個字元。

sqlserver中nvarchar和varchar型別的區別是什麼?

6樓:day忘不掉的痛

varchar(n):變長型字元資料型別,儲存最長長度為8,000 個字元。

nvarchar(n):可變長度 unicode 資料,其最大長度為4,000 字元。位元組的儲存大小是所輸入字元個數的兩倍,就是說它是雙位元組來儲存資料的。

如果儲存資料如果存在單位元組時,它也是以雙位元組來佔用儲存空間的。

varchar一般適用於英文和數字。

7樓:小燈

固定長度 (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 個字元。

char vchar nchar nvchar的區別我都知道了~~dan在建欄位的時候型別都可以任意定阿

8樓:網友

我也不知道該什麼時候用,但是覺得用乙個字儲存時 用char 可以,比如 '男'或'女' 在一般的使用者名稱或簡單的資料中用varchar比較多。 用儲存**位址或**時 用nvarchar比較多。 好像乙個是對漢字佔乙個符和佔兩個符有關係吧。

我也不是太清楚。 用器儲存內容時 就用的text .

好像還有一點 char 的內容裡好像是帶空格的。以前遇到過一回,沒在意,就改了。

vb中string 型別對應sql中哪種型別啊?是char還是vchar還是nvchar

9樓:阿

建議使用vchar

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。

nchar根據 unicode 標準所進行的定義,用給定整數**返回 unicode 字元。

在sql server中如何區別nvchar和char?有什麼區別,在什麼情況下用哪個??

10樓:網友

char(n)型別。

將 int ascii **轉換為字元的字串函式。引數n是介於 0 和 255 之間的整數。如果整數表示式不在此範圍內,將返回 null 值。

nchar 和 nvarchar

nchar 是固定長度 unicode 資料的資料型別,nvarchar 是可變長度 unicode 資料的資料型別,二者均使用 unicode ucs-2 字符集。

nchar(n)型別。

包含 n 個字元的固定長度 unicode 字元資料。n 的值必須介於 1 與 4,000 之間。儲存大小為 n 位元組的兩倍。

nchar 在 sql-92 中的同義詞為 national char 和 national character。

nvarchar(n)型別。

包含 n 個字元的可變長度 unicode 字元資料。n 的值必須介於 1 與 4,000 之間。位元組的儲存大小是所輸入字元個數的兩倍。

所輸入的資料字元長度可以為零。nvarchar 在 sql-92 中的同義詞為 national char varying 和 national character varying。

和有啥區別, 和 的區別

和 主要從含義不同 執行動作的人不同和語氣不同來區別。一 含義不同 意思是 我一下,表示請對方做某事。例如 私 山田先生 日本語 教 我請山田老師教日語。意思是請允許我做.表示請對方允許自己做某事。二 執行動作的人不同 表示請對方做某事,執行動作的人是別人,是請別人做事。例如 教 你能教我嗎?表示請...

撒嬌和任性的區別,任性和撒嬌的區別

撒嬌是故意在你開心的時候逗你玩,任性是不管你心情如何都只顧自己開心 撒嬌見好就收 任性一根筋到底 任性和撒嬌的區別 任性,指聽憑bai秉性行事du,率真不做作或謂恣zhi意放縱,以求滿足自己的慾望或dao達到自己某種不 專正當的目標或執拗使性,屬無所顧忌,必欲按自己的願望或想法行事。撒嬌,為了某事或...

高冷和內向的區別,內向和高冷的區別

高冷是不在乎別人,過於輕視他人的存在感,內向是不善於和他人交流,喜歡窩在自己的世界裡。對待別人謙和,樂於助人,和自己的朋友在一起的時候敢於表現自己的想法等等這一類的人比較好 內向,看人的眼神是真誠溫暖的,甚至還會給對方乙個微笑。高冷是無論如何都不理人自己顧自己。直白來說,高冷不僅是少說話,即使說了也...