在SQL Server中我们表示unicode字符串文字:
declare @s nvarchar(max)
select @s = N'test'
但是,我们也可以使用双引号...所以我们应该能够这样做:
set quoted_identifier off
declare @s nvarchar(max)
select @s = N"test"
但我出错了:
Msg 102,Level 15,State 1,Line 2'test'附近的语法不正确。
什么是正确的表格?
答案 0 :(得分:0)
在T-SQL中,您可以使用双引号来指定SELECT语句中列的名称,就像使用方括号[]一样。
比较
select 1 as "value x"
select 1 as [value x]
两者都会生成一个名为value x
的列。
对于字符串文字,只能使用''和N'。
在Nikola的评论之后更新
MSDN page on T-SQL constants仅针对“字符串常量”提及QUOTED_IDENTIFIER /双引号/单引号行为,但“Unicode字符串”部分仅引用N''
表示法。
答案 1 :(得分:0)
您不能使用双引号来分隔T-SQL中的Unicode字符串。
那又怎样?你试图解决的问题是什么?
您仍然可以通过将单引号加倍来在Unicode字符串中嵌入单引号。
SELECT N'This isn''t a problem'