比如select @status = n'stopped'
那麼其中的字串 stopped 前面為什麼要加 n 呢?而且我們發現有些地方加 n 與否都沒有影響,有些地方又必須加 n。
n 在這裡表示 unicode,就是雙位元組字元。對於西文字元,用乙個位元組來儲存過足夠了,對於東方文字字元,就需要兩個位元組來儲存。unicode 為了統
一、規範、方便、相容,就規定西文字元也用兩個位元組來儲存。
也就是說加 n 就表示字串用 unicode 方式儲存。
但有時候加與不加都一樣,又是什麼原因呢?這是由於自動轉換造成的。
比如:declare @status nvarchar(20)
select @status = n'stopped'
select @status = 'stopped'
實際上上述兩句賦值的結果是一樣的,因為變數型別就是 nvarchar(unicode 型別)。
而有些地方(比如:sp_executesql 的引數)不能自動轉換,所以需要加 n 了。
T SQL 字串前加 N 是什麼意思
比如select status n stopped 那麼其中的字串 stopped 前面為什麼要加 n 呢?而且我們發現有些地方加 n 與否都沒有影響,有些地方又必須加 n。n 在這裡表示 unicode,就是雙位元組字元。對於西文字元,用乙個位元組來儲存過足夠了,對於東方文字字元,就需要兩個位元組...
T SQL 字串前加 N 是什麼意思
轉 比如select status n stopped 那麼其中的字串 stopped 前面為什麼要加 n 呢?而且我們發現有些地方加 n 與否都沒有影響,有些地方又必須加 n。n 在這裡表示 unicode,就是雙位元組字元。對於西文字元,用乙個位元組來儲存過足夠了,對於東方文字字元,就需要兩個位...
T SQL字串前加N是什麼意思
t sql字串前加n是什麼意思 比如 select status n stopped 那麼其中的字串 stopped 前面為什麼要加 n 呢?而且我們發現有些地方加 n 與否都沒有影響,有些地方又必須加 n。www.2cto.com n 在這裡表示 unicode,就是雙位元組字元。對於西文字元,用...