2010-08-31 78 views
1

今天我遇到了一個SQL語句,其中包含一個元素沒看過。也許有人可以詳細說明?這SQL是在Sybase存儲過程ASE 15SQL:什麼區別... WHERE O.type = N'U'...和... WHERE O.type ='U'

SELECT O.id,OWNER = U.name,O.name,O.type FROM xxx.dbo.sysobjectsö LEFT JOIN xxx.dbo .sysusers U ON O.uid = U.uid WHERE(O.type = N'U 'OR O.type = N'S' OR O.type = N'V')ORDER BY O.name

跑步

SELECT O.id,OWNER = U.name,O.name,O.type FROM xxx.dbo.sysobjects O LEFT JOIN xxx.dbo.sysusers U ON O.uid = U.uid WHERE(O.type = 'U' OR O.type = 'S' OR O.type = 'V')ORDER BY O.name

給出相同的結果與上述的SQL。

該參數的N表示什麼?

+0

這絕對是一個騙局。 – 2010-08-31 15:58:54

+1

可能重複[在TSQL函數參數前加'N'的目的是什麼?](http://stackoverflow.com/questions/2448203/what-is-the-purpose-of-putting-an -n-in-function-parameters -in-tsql) – 2010-08-31 16:03:27

+0

@OMG - 您首先找到它。搜索'N'不是很容易! – 2010-08-31 16:05:27

回答

4

的N-確保規定的值爲Unicode

+0

感謝您的及時答覆! – 2010-08-31 16:11:19

1

這是一個「國有化」(Unicode)的字符串處理。

1

N表示National - N將VARCHAR轉換爲NVARCHAR,用於存儲unicode數據,該數據用於將多語言數據存儲在數據庫表中。