SQL Server语法问题

时间:2010-07-22 18:06:56

标签: sql-server sql-server-2005 tsql

USE AdventureWorks;
GO
IF OBJECT_ID (N'dbo.AWBuildVersion', N'U') IS NOT NULL
DROP TABLE dbo.AWBuildVersion;
GO

N代表 N 'dbo.AWBuildVersion'& N 'U'?

3 个答案:

答案 0 :(得分:2)

这是针对Unicode的。它类似于nvarchar或nchar SQL数据类型。

有关详细信息,请参阅:You must precede all Unicode strings with a prefix N when you deal with Unicode string constants in SQL Server

答案 1 :(得分:1)

This StackOverflow article有关于此主题的信息。基本上'N'前缀表示Unicode字符串。

答案 2 :(得分:1)

在SQL Server中处理 Unicode 字符串常量时,必须在所有Unicode字符串前面加上大写字母N.

“N”前缀代表SQL-92标准中的国家语言,必须为大写。

如果您没有为Unicode字符串常量添加前缀N,SQL Server会在使用该字符串之前将其转换为当前数据库的非Unicode代码页。

有时候人们会习惯使用N',而不是在真正需要的时候。