152 votes

Comment déclarer et affecter une variable sur une seule ligne dans SQL

Je veux quelque chose comme

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

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

Par exemple:

Je veux que la chaîne soit lue

 John said to Emily "Hey there Emily"

ma tentative serait

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

218voto

Oded Points 271275

Voici:

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

Vous noterez que le ' est échappé en le doublant à '' .

Étant donné que le délimiteur de chaîne est ' et non " , il n'est pas nécessaire d'é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.

16voto

SQLMenace Points 68670

sur sql 2008 c'est valide

 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

6voto

Daniel Renshaw Points 12272

Vous l'avez presque:

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

Voir ici pour les documents

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

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

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X