在 SQL 中,如何在单行上声明和分配变量

我想要

DECLARE myVariable nvarchar[MAX] = "hello world".

如果你向我展示如何在字符串中编码一个引号,就会得到额外的分数。

例如:

我想让字符串读取

John said to Emily "Hey there Emily"

我的尝试是

DECLARE myVariable nvarchar[MAX] = "John said to Emily \"Hey there Emily\""
160053 次浏览

开始了:

DECLARE @var nvarchar(max) = 'Man''s best friend';

您将注意到,通过将 '加倍为 '',可以转义 '

因为字符串分隔符是 '而不是 ",所以不需要转义 ":

DECLARE @var nvarchar(max) = '"My Name is Luca" is a great song';

DECLARE上的 MSDN 页面中的第二个示例显示了正确的语法。

你差不多明白了:

DECLARE @myVariable nvarchar(max) = 'hello world';

有关文件,请参阅 给你

对于引号,SQLServer 使用撇号,而不是引号:

DECLARE @myVariable nvarchar(max) = 'John said to Emily "Hey there Emily"';

如果需要在字符串中使用双撇号:

DECLARE @myVariable nvarchar(max) = 'John said to Emily ''Hey there Emily''';

在 sql2008上,这是有效的

DECLARE @myVariable nvarchar(Max) = 'John said to Emily "Hey there Emily"'
select @myVariable

在 sql server 2005上,您需要这样做

DECLARE @myVariable nvarchar(Max)
select @myVariable = 'John said to Emily "Hey there Emily"'
select @myVariable