SORU
15 EYLÜL 2008, PAZARTESİ


Nasıl bir gerçekleştirmek için bir SQL SEÇİN?

Nasıl bir SQL SELECT deyimi bir IF...then yapabilirim?

Örneğin:

SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product

CEVAP
15 EYLÜL 2008, PAZARTESİ


CASE deyimi SQL ve SQL Server tüm desteklenen sürümleri üzerinde İSE en yakın kişi

SELECT CAST(
             CASE 
                  WHEN Obsolete = 'N' or InStock = 'Y' 
                     THEN 1 
                  ELSE 0 
             END AS bit) as Salable, * 
FROM Product

Eğer bu işleri int,: ile memnun iseniz sadece bir boolean değeri olarak sonuç istiyorsanız CAST yapmak gerekir

SELECT CASE 
            WHEN Obsolete = 'N' or InStock = 'Y' 
               THEN 1 
               ELSE 0 
       END as Salable, * 
FROM Product

CASE tablolar CASE Diğer tablolar içinde gömülü ve hatta toplamları dahil edilebilir.

SQL Server Denali (SQL Server 2012) de access mevcuttur IIF deyimi ekler: (Martin Smith ile işaret etti)

SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Selable, * from Product

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrChiCity3

    MrChiCity3

    14 NİSAN 2008
  • My Name Is Jeff

    My Name Is J

    26 ŞUBAT 2008
  • pjtoohot

    pjtoohot

    15 NİSAN 2008