close
在資料存取過程,資料表欄位所設定的資料型態不同會影響存放的文字數量
常見的varchar、nvarchar來討論
- 英文字、數字所佔的位元組:1
- 中文字所佔的位元組:2
當欄位資料型態設定為以下兩者:
- nvarchar(2):是用2*2=4個位元組去儲存,但最多存放兩個字元(不論中英文或數字)。
- varcahr(2):是用2個位元去儲存,也是最多存放兩個字元,但要計算位元數大小。
所以當使用nvarchar(2)來存放不論中文或數字都只能存放兩個,但卻占了4個位元組
而varchar(2)最多只能存放一個中文字或者兩個英數字。
在MSSQL中有一些函數可以用來判斷字串長度跟字串位元數
- Len:計算字串的長度
- DataLength:計算字串的位元數
舉例:
SELECT LEN('你好,Hello!'),DATALENGTH('你好,Hello!')
結果分別為=>9,12
'你好,'=6位元組
'Hello!'=6位元組
所以位元組=12
長度就看幾個字就幾個,長度=9
全站熱搜