在TSQL中将'N'放在函数参数前面的目的是什么?

Ben*_*ack 25 sql t-sql sql-server

在TSQL中将'N'放在函数参数前面的目的是什么?

例如,N以下代码中函数参数前面的含义是什么:

object_id(N'dbo.MyTable')
Run Code Online (Sandbox Code Playgroud)

Joe*_*erg 41

它表示"国有化"又名unicode字符串常量.

http://support.microsoft.com/kb/239530

在SQL Server中处理Unicode字符串常量时,必须在所有Unicode字符串前面加上大写字母N,如SQL Server联机丛书主题"使用Unicode数据"中所述.

http://msdn.microsoft.com/en-us/library/aa276823%28SQL.80%29.aspx

ncharnvarchar

字符数据类型,它们是固定长度(nchar)或可变长度(nvarchar)Unicode数据,并使用UNICODE UCS-2字符集.

nchar(n)

n个字符的固定长度Unicode字符数据.n必须是1到4,000之间的值.存储大小是n个字节的两倍.SQL-92同义词nchar国家字符和国家字符.

nvarchar(n)

n个字符的可变长度Unicode字符数据.n必须是1到4,000之间的值.存储大小(以字节为单位)是输入字符数的两倍.输入的数据长度可以是0个字符.SQL-92同义词nvarchar国家字符变化和国家字符变化.

  • 在unicode存在之前,国家化文本符合SQL92标准. (9认同)
  • 那很有意思。我一直想知道为什么“N”代表“Unicode”,为什么他们不只使用“U” (2认同)