IS NULL ve NOT NULL ile CASE deyimi


12

SQL Server 2005'te aşağıdaki satırları yazmanın daha iyi bir yolu var mı?

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

3
"Daha iyi" tanımlayın.
Wesley

Ben MSSQL aşina değilim ama MySQL IF işlevi gibi bir şey varsa, böyle bir kod yazabilirsiniz:IF(ID IS NULL, 'YES', 'NO') AS ID_Value
Kondybas

1
SQL Server 2012 var IIFama soru 2005 etiketli.
Martin Smith

Bunu aşağıdaki ifadeyle yapabilmelisiniz. isnull(nullif(isnull(ID,'Y'),ID),'N')
Jason Cumberland

1
@ Bappy1988 Neden Jay'in cevabından daha iyi olsun ki?
dezso

Yanıtlar:


16

Denedin mi:

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

Şu anda sadece 2008'e erişimim var, ancak bu sözdiziminin 2005'te hala işe yarayacağını umuyorum ( orijinal tanımının bir parçası olacak bir şey gibi görünüyorCASE ).


Evet - Ben denedim CASE WHEN (ID IS NULL) THEN 'YES' ELSE 'NO' END AS ID_Valueama IF(ID IS NULL, 'YES', 'NO') AS ID_ValueBayan Sql gibi bir şey daha iyi bir yaklaşım arıyorum , böylece her şey tek bir satırda olabilir. Herhangi bir öneri lütfen

7
Bu cevap tek bir satırda. İsterseniz tüm ifadeyi tek bir satıra koyabilirsiniz.
ypercubeᵀᴹ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.