Pernyataan KASUS dengan IS NULL dan NOT NULL


12

Apakah ada cara yang lebih baik untuk menulis baris di bawah ini di SQL Server 2005?

CASE
WHEN (ID IS NULL)
   THEN 'YES'
WHEN (ID IS NOT NULL)
   THEN 'NO'
END AS ID_Value,

3
Tentukan "lebih baik".
Wesley

Saya tidak terbiasa dengan MSSQL tetapi jika memiliki sesuatu seperti IF-function di MySQL, Anda dapat menulis kode seperti ini:IF(ID IS NULL, 'YES', 'NO') AS ID_Value
Kondybas

1
SQL Server 2012 memiliki IIFtetapi pertanyaannya ditandai 2005.
Martin Smith

Anda harus dapat mencapai ini dengan pernyataan di bawah ini. isnull(nullif(isnull(ID,'Y'),ID),'N')
Jason Cumberland

1
@ Bappy1988 Mengapa lebih baik dari jawaban Jay?
dezso

Jawaban:


16

Apakah Anda sudah mencoba:

CASE WHEN (ID IS NULL) THEN 'YES' ELSE 'NO' END AS ID_Value,

Saya hanya memiliki akses ke 2008 sekarang, tetapi saya berharap bahwa sintaks ini akan tetap berfungsi pada tahun 2005 ( sepertinya sesuatu yang akan menjadi bagian dari definisi asli CASE).


Ya - saya sudah mencoba CASE WHEN (ID IS NULL) THEN 'YES' ELSE 'NO' END AS ID_ValueTapi saya mencari beberapa pendekatan lain yang lebih baik seperti IF(ID IS NULL, 'YES', 'NO') AS ID_Valuedi Ms Sql, sehingga semuanya bisa dalam satu baris. Mohon saran

7
Jawaban ini ada dalam satu baris. Jika mau, Anda dapat menempatkan seluruh pernyataan dalam satu baris.
ypercubeᵀᴹ
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.