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

arrow
arrow
    全站熱搜

    Louis 發表在 痞客邦 留言(0) 人氣()