1.1 Koşullu işlevlerin listesi

if-elseSQL dili, Java'daki operatöre biraz benzeyen bir işlev listesine sahiptir switch.

Toplamda bu tür 4 işlev vardır:

Fonksiyonlar Tanım
1 DAVA analog anahtar
2 EĞER() Üçlü operatörün veya if-else'nin bir benzeri
3 EĞER NULL() if-else'nin analoğu
4 NULLIF() if-else'nin analoğu

SQL'deki son üç, işlevler olarak temsil edilir ve CASEtam teşekküllü bir operatördür, bu nedenle en sonunda ayrı olarak ele alacağız.

1.2 EĞER() işlevi

SQL'deki bir işlev, IF()Java'daki üçlü operatöre biraz benzer. SQL dilinde 3 parametre alır ve şöyle görünür:

IF (condition, true, false)

İşleve üç ifade iletilmelidir IF:

  • doğruluğu test edilen bir durum;
  • koşul doğru olduğunda döndürülen bir ifade;
  • koşul yanlış olduğunda döndürülen bir ifade.

Aşağıda, nasıl çalıştığını anlamayı kolaylaştırmak için bazı örnekler vereceğim:

Rica etmek Sonuç
1 EĞER SEÇ( 1>2 , 2, 3) 3
2 EĞER SEÇ( 1<2 , 'evet', 'hayır') 'Evet'
3 EĞER SEÇİN( STRCMP('test','test1' ), 'hayır', 'evet') 'HAYIR'

1.3 İşlev IFNULL() ve NULLIF()

Fonksiyonun iki modifikasyonu da vardır IF().

İlk değişiklik işlevidir IFNULL(). Yalnızca iki değer alır:

IFNULL (expression 1, expression 2)

ifade1 eşit değilse , NULLişlev ifade1'i döndürür . ifade1 ise , işlev ifade2'yiIS NULL, döndürür . Esas olan, alan şuna eşit olduğunda varsayılan değerin ikamesidir : .NULL

Fonksiyonun ikinci modifikasyonu IFfonksiyondur NULLIF(), ayrıca iki değer alır:

NULLIF (expression 1, expression 2)

Ters yönde çalışır:

  • ifade1 , ifade2'ye eşitse işlev şunu döndürür NULL;
  • ifadeler eşit değilse, ifade1 döndürülür .