Как мне объявить и назначить переменную в одной строке в 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\""
122
задан ROMANIA_engineer 19 August 2017 в 19:04
поделиться

3 ответа

Вот так:

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

Вы заметите, что ' экранируется удвоением до ''.

Поскольку разделителем строк является ', а не ", нет необходимости экранировать ":

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

Второй пример на странице MSDN по DECLARE показывает правильный синтаксис.

170
ответ дан 24 November 2019 в 01:25
поделиться

на sql 2008 это действительно

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
11
ответ дан 24 November 2019 в 01:25
поделиться

У вас почти получилось:

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

Смотрите здесь документацию

Что касается кавычек, SQL Server использует апострофы, а не кавычки:

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

Используйте двойные апострофы, если они нужны в строке:

DECLARE @myVariable nvarchar(max) = 'John said to Emily ''Hey there Emily''';
3
ответ дан 24 November 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: