web-dev-qa-db-fra.com

Comment déclarer et attribuer une variable sur une seule ligne en SQL

Je veux quelque chose comme

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

Points bonus si vous me montrez comment encoder une citation dans la chaîne.

Par exemple.:

Je veux que la ficelle se lise

John said to Emily "Hey there Emily"

ma tentative serait

DECLARE myVariable nvarchar[MAX] = "John said to Emily \"Hey there Emily\""
115
Justin

Voici:

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

Vous noterez que le ' s'échappe en le doublant à ''.

Comme le délimiteur de chaîne est ' et pas ", il n'est pas nécessaire de s'échapper ":

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

Le deuxième exemple de la page MSDN sur DECLARE montre la syntaxe correcte.

162
Oded

sur sql 2008 cela est valable

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

sur SQL Server 2005, vous devez le faire

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

Vous l'avez presque

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

Voir ici pour la documentation

Pour les guillemets, SQL Server utilise des apostrophes et non des guillemets:

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

Utilisez les doubles apostrophes si vous en avez besoin dans une chaîne:

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