SQL中N 的作用

2021-09-08 02:37:50 字數 1020 閱讀 9129

sql中n $ # @的作用 declare @sql nvarchar(4000) set @sql= n'select @totalrecords=count(*) from ' + n'(' + @sqlfullpopulate + n') a ' exec sp_executesql @sql,n'@totalrecords int output', @totalrecords output

問題:@sql= 後面有個n, n 起什麼作用?

答案:       加上 n 代表存入資料庫時以 unicode 格式儲存。       n'string' 表示string是個unicode字串

unicode 字串的格式與普通字串相似,但它前面有乙個 n 識別符號(n 代表 sql-92 標準中的國際語言 (national language))。n 字首必須是大寫字母。例如,'michél' 是字串常量而 n'michél' 則是 unicode 常量。unicode 常量被解釋為 unicode 資料,並且不使用**頁進行計算。unicode 常量確實有排序規則,主要用於控制比較和區分大小寫。為 unicode 常量指派當前資料庫的預設排序規則,除非使用 collate 子句為其指定了排序規則。unicode 資料中的每個字元都使用兩個位元組進行儲存,而字元資料中的每個字元則都使用乙個位元組進行儲存。有關更多資訊,請參見使用 unicode 資料。

· 下劃線(_),at符號(@),或者數字符號(#)

在sql server中以這些符號作為識別符號的開始具有特殊的含義。乙個以at符號(@)開頭的識別符號表示乙個本地的變數或者引數。乙個以數字符號(#)開頭的識別符號代表乙個臨時表或者過程。乙個以兩個數字符號(##)開頭的識別符號標識的是乙個全域性臨時物件。一些transact-sql函式的名字以兩個at符號(@@)開頭。為了避免與這些函式混淆,推薦你不要使用兩個at符號(@@)開頭的識別符號。接下來的字母可以是以下的任意幾種:

· unicode standard 2.0定義的字母

· 來自基礎拉丁文或者其他語音的十進位制數字

· at符號(@),美元符號($),數字符號(#),或者下劃線

SQL 中GO的作用

1 use db csharp2go 3select 4 備註 case 5 when grade 90 then 成績優秀 6 when grade 90 and grade 80 then 成績良好 7 when grade 80 and grade 70 then 成績及格 8 else 不及...

SQL中with nolock 作用說明

例如 select count userid from employee with nolock join working group with nolock onemployee.userid working group.userid 因為sql server會執行對應的鎖定一致性檢查。欲改善整體...

SQL中WHERE 1 1的作用

個人認為這篇文章寫的非常好,用例子把道理說的非常明白,所以轉了,希望對大家有所幫助。1 1或者 a a 等等恒等式是t sql中表達true的方法。因為在t sql中沒有true這樣的關鍵字或值,所以需要借助這些恒等式來表達true的概念。相對的,同樣可以使用1 1或者1 2等來表達false。在應...