Dichiarazione CASE con IS NULL e NOT NULL


12

Esiste un modo migliore per scrivere le righe seguenti in SQL Server 2005?

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

3
Definisci "meglio".
Wesley,

Non ho familiarità con MSSQL ma se ha qualcosa come la funzione IF in MySQL, puoi scrivere questo codice:IF(ID IS NULL, 'YES', 'NO') AS ID_Value
Kondybas

1
SQL Server 2012 ha IIFma la domanda è taggata 2005.
Martin Smith,

Dovresti essere in grado di farlo con la seguente dichiarazione. isnull(nullif(isnull(ID,'Y'),ID),'N')
Jason Cumberland,

1
@ Bappy1988 Perché sarebbe meglio della risposta di Jay?
dezso,

Risposte:


16

Hai provato:

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

Ho solo accesso al 2008 in questo momento, ma spero che questa sintassi funzioni ancora nel 2005 ( sembra qualcosa che faccia parte della definizione originale di CASE).


Sì, ci ho provato CASE WHEN (ID IS NULL) THEN 'YES' ELSE 'NO' END AS ID_ValueMa sto cercando un altro approccio migliore in qualcosa di simile IF(ID IS NULL, 'YES', 'NO') AS ID_Valuea Ms Sql, in modo che tutto possa essere in una sola riga. Eventuali suggerimenti per favore

7
Questa risposta è in una sola riga. Se lo desideri, puoi inserire l'intera istruzione in un'unica riga.
ypercubeᵀᴹ
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.