Bagaimana cara mendeklarasikan dan menetapkan variabel pada satu baris dalam SQL


131

Saya menginginkan sesuatu seperti

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

Poin bonus jika Anda menunjukkan kepada saya cara menyandikan kutipan dalam string.

Misalnya:

Saya ingin string membaca

John said to Emily "Hey there Emily"

usaha saya akan menjadi

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

4
Pembatas string dalam SQL Server ', tidak ".
Oded

Jawaban:


184

Ini dia:

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

Anda akan perhatikan bahwa 'itu lolos dengan menggandakannya ke ''.

Karena pembatas string adalah 'dan tidak ", tidak perlu untuk melarikan diri ":

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

Contoh kedua di halaman MSDN pada DECLAREmenunjukkan sintaks yang benar.


5
Anda juga dapat menginisialisasi dari pernyataan pilih, misalnya: declare @eid uniqueidentifier = (pilih id 1 teratas dari t_Event)
Damien Sawyer

13

pada sql 2008 ini valid

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

di sql server 2005, Anda perlu melakukan ini

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

3

Anda hampir mendapatkannya:

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

Lihat di sini untuk dokumennya

Untuk tanda kutip, SQL Server menggunakan tanda kutip, bukan tanda kutip:

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

Gunakan apostrof ganda jika Anda membutuhkannya dalam sebuah string:

DECLARE @myVariable nvarchar(max) = 'John said to Emily ''Hey there Emily''';
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.