logo

MySQL CASE İfadesi

MySQL CASE ifadesi, kontrol akış fonksiyonunun bir yazmamızı sağlayan bir parçasıdır. if-else veya if-then-else bir sorgunun mantığı. Bu ifade, SELECT, WHERE, ORDER BY cümleciği vb. gibi geçerli bir program veya sorgu kullanan her yerde kullanılabilir.

CASE ifadesi çeşitli koşulları doğrular ve ilk koşul sağlandığında sonucu döndürür. doğru . Koşul karşılandığında geçiş yapmayı durdurur ve çıktıyı verir. Eğer herhangi bir koşulu doğru bulamazsa çalıştırır. aksi takdirde bloke . else bloğu bulunamadığında bir değer döndürür. HÜKÜMSÜZ değer. Ana hedefi MySQL CASE deyimi, SELECT deyimindeki birden fazla IF deyimiyle ilgilenir.

CASE deyimini iki şekilde kullanabiliriz:

1. Basit CASE ifadesi:

İlk yöntem, aşağıda gösterildiği gibi bir değer alıp onu verilen ifadeyle eşleştirmektir.

fare ve fare türleri

Sözdizimi

 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END 

İlk yapıldığında sonucu döndürür karşılaştırma_değeri karşılaştırma doğru olur. Aksi takdirde else cümleciğini döndürür.

Örnek

 mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END; 

Çıktı

Yukarıdaki komutu başarıyla uyguladıktan sonra aşağıdaki çıktıyı göreceğiz.

MySQL CASE İfadesi

2. CASE ifadesinin aranması:

İkinci yöntem, bir konuyu dikkate almaktır. arama_koşulu içinde NE ZAMAN cümleciklerini kullanın ve eğer bulursa ilgili THEN cümleciğindeki sonucu döndürün. Aksi takdirde else cümleciğini döndürür. else cümleciği belirtilmezse NULL değeri döndürür.

Sözdizimi

 CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 

Örnek

 mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END; 

Çıktı

MySQL CASE İfadesi

İade Türü

CASE ifadesi, kullanıldığı bağlama bağlı olarak sonucu döndürür. Örneğin:

python demetleri sıralama
  • Dize bağlamında kullanılırsa dize sonucunu döndürür.
  • Sayısal bağlamda kullanılırsa tam sayı, kayan nokta, ondalık değer döndürür.

MySQL sürüm desteği

CASE ifadesi aşağıdaki MySQL sürümlerini destekleyebilir:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0
  • MySQL 3.23.3

Bir tablo oluşturalım' öğrenciler ' ve bu tablodaki CASE deyimini gerçekleştirin.

MySQL CASE İfadesi

Yukarıdaki tabloda şunu görüyoruz. sınıf sütunu Öğrenci bölümünün kısa formunu içerir. Bu nedenle bölümün kısa şeklini tam şekliyle değiştireceğiz. Şimdi bu işlemi gerçekleştirmek için aşağıdaki sorguyu yürütün.

 SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students; 

Yukarıdaki sorguyu başarıyla çalıştırdıktan sonra aşağıdaki çıktıyı elde edeceğiz. Burada şunu görebiliyoruz. departman sütunu kısa form yerine tam formu içeriyor.

MySQL CASE İfadesi