❶ sql 中4個漢字用char(10)還是varchar(8)
用nvarchar(4)
❷ sql中char(9) char(10) char(13)分別代表哪個字元
char(9) 水平製表符
char(10)換行鍵
char(13)回車鍵
解題方法如下:
直接在sql的命令框中輸入以下字元:
print 'A'+char(10)+'B'
print 'A'+char(9)+'B'
print 'A'+char(13)+'B'
然後輸出就可以看到它們代表的含義了,這里有個完整的表格也可以參考一下:
(2)sql漢字char擴展閱讀:
char(9) 水平製表符這里 水平製表符即tab鍵
一般char(10)char(13)常常可以連著用,表示0x0A0x0D,即一個完整的回車換行。
而且在使用單獨語句查 select char(9) ,char(10), char(13) 可能會發現全是空白,所以最好這樣輸入類似print 'A'+char(10)+'B'這樣才能看到字元的含義。
❸ sql里數據類型nchar(10)為什麼能存10個漢字, char(10)只能存5個漢字
nchar與char是相似的,nvarchar與varchar是相似的。
char類型:
對英文(ascii)字元佔用1個位元組,對一個漢字佔用2個位元組,char存儲定長數據很方便,char欄位上的索引效率級高,比如定義
char(10),那麼不論你存儲的數據是否達到了10個位元組,都要佔去10個位元組的空間,不夠的字元用空格去填。因為是固定長度,所以速度效率高。
varchar類型:varchar
的類型不以空格填滿,比如varchar(100),但它的值只是"qian",則它的值就是"qian"
而char
不一樣,比如char(100),它的值是"qian",而實際上它在資料庫中是"qian
"(qian後共有96個空格,就是把它填滿為100個位元組)。
由於char是以固定長度的,所以它的速度會比varchar快得多!但程序處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉!
varchar存儲變長數據,但存儲效率沒有char高。如果一個欄位可能的值是不固定長度的,我們只知道它不可能超過10個字元,把它定義為
varchar(10)是最合算的。varchar類型的實際長度是它的值的實際長度+1。為什麼「+1」呢?這一個位元組用於保存實際使用了多大的長度。
nchar類型和nvarchar類型是怎麼一回事呢?為了與其他多種字元的轉換,如中文,音標等,對每個英文(ascii)字元都佔用2個位元組,對一個漢字也佔用兩個位元組,所有的字元都佔用2個位元組。
關於長度與漢字
varchar(100)/char(100)能存50個漢字,nvarchar(100)/nchar(100)能存100個漢字。
❹ SQL語言中CHAR的用法
用法和詳細的操作步驟如下:
1、第一步,在桌面上,單擊「
Management Studio」圖標,見下圖,轉到下面的步驟。
❺ sql中char(4)一定要是蚊子嗎
不是。char(4):4是代表位元組數,一個漢字代表一個字元,2個位元組,一個英文代表一個字元,一個位元組。遵循CHAR和VARCHAR定義規范。也與資料庫本身設置的字元集有關。在sql中char(4)不一定費得是蚊子也可以是其他的字元。
❻ sql里數據類型nchar(10)為什麼能存10個漢字, char(10)只能存5個漢字
這個得看你字元是按照什麼樣的編碼規則
1、如果是單位元組編碼,舉個例子ASCII,一個字元(准確來說是英文字元)是用一個位元組編碼的,而按照ASCII的拓展編碼(具體是哪個編碼規則忘了,不過可以統稱ANSI),一個漢字是用兩個字元表示,所以在此編碼規則下,存放一個漢字(兩個字元)需要兩個位元組,而char(10)中的10指的是字元個數,而不是多少位元組(雖然在這種編碼下得到的結果一樣,因為一個字元對應一個位元組,但是對於雙位元組編碼的不是這樣理解的),所以char(10)可以存10個字元,兩個個字元表示一個漢字,所以最多存5個漢字。
2、如果是雙位元組編碼,一個字元(這里的字元不僅僅包括英文字元,還包括中文字元即漢字,以及其他的字元)是用兩個位元組編碼的,nchar()存儲的是UNICODE字元,它是採用雙位元組編碼規則,即一個字元相當於兩個位元組,但是nchar(10)其實不需要考慮到位元組問題,這個10指的就是字元個數,在此規則下漢字和英文字元一樣的性質,所以nchar(10)就能存10個漢字。
總結:發生這樣的疑惑主要是,單位元組編碼沒有把漢字等同於一般的字元例如英文字元,而是採用兩個一般的字元來表示一個漢字,而雙位元組編碼一視同仁,說到字元就是指所有字元,包括漢字。
❼ 在SQL中 Char的數據類型 能不能輸入漢字
可以的 只是一個漢字是占兩個字元。
❽ SQL語句CHAR是什麼意思
char(255)意思是取ascii碼表中255所對應的字元,從輸出結果來看相當於2個空格,
所以上面語句的結果為16個空格
❾ sql里數據類型nchar(10)為什麼能存10個漢字, char(10)只能存5個漢字
char
和
varchar
固定長度
(char)
或可變長度
(varchar)
字元數據類型。
nchar
根據
unicode
標准所進行的定義,用給定整數代碼返回
unicode
字元。
char是固定長度的位元組,varchar是可變長度的位元組,nchar是unicode編碼的固定字元長度。
如:12345
在char(6)存儲為123456加一個空格,共6個位元組。
中國
在char(6)存儲為中國加兩個空格,共6個位元組。
12345
在varchar(6)存儲為123456,共5個位元組。
中國
在varchar(6)存儲為中國,共4個位元組。
nchar(6)對漢字和半形字元處理時一樣的,即可以存儲6個漢字,也可以存儲6個字母
❿ 在sql server里建一個表,表中有一數據項是char類型的,最多要放20個漢字的話,長度最好是多少
一個漢字占兩個位元組,20個漢字,char類型的話,最長40個位元組。
所以設置為40就可以了。
但是使用char固定長度存儲,如果存儲的數據長度不夠40個位元組的話,資料庫會自動在後面補空格。
比如你在裡面存入「張三」,那麼讀取出來的數據,就是「張三+36個空格」
所以在處理的時候,注意處理空格。