在查询sql server中编写N'的用途是什么

时间:2015-02-14 19:13:47

标签: sql-server

我正在使用sql-server 2012,我有这个查询

create table t
( 
id int not null,
name varchar(10)
);


select OBJECT_NAME(object_id) as table_name,type,name as table_name,type_dec
from sys.indexes
where object_id=OBJECT_ID(N'dbo.t',N'U')

object_id and OBJECT_ID中的差异是什么 写作N''

有什么用?

查询返回相同的结果:有或没有N enter image description here

3 个答案:

答案 0 :(得分:0)

N中的N'xxx'表示"国家语言",表示unicode字符串。

如果您使用它将数据存储到VARCHAR而不是NVARCHAR列,则几乎没有用。

您可以在" Unicode字符串"下阅读更多相关内容。本页的小标题:Constants (Transact-SQL)

答案 1 :(得分:0)

在SQL Server中,前缀N'用于指定nvarchar类型,代表国家字符。

来自doc:

  

使用字母N前缀Unicode字符串常量。无   N前缀,该字符串被转换为默认代码页   数据库。此默认代码页可能无法识别某些字符。

在另一个世界,它是一个unicode角色。

答案 2 :(得分:0)

第一季度:Object_id和OBJECT_ID相同。

第二季度已在[此处] [1]

回答