CASE (Azure Stream Analytics)

Mengevaluasi daftar kondisi dan mengembalikan salah satu dari beberapa kemungkinan ekspresi hasil.

Ekspresi CASE memiliki dua format:

  • Ekspresi CASE sederhana membandingkan ekspresi dengan sekumpulan ekspresi sederhana untuk menentukan hasilnya.

  • Ekspresi CASE yang dicari mengevaluasi sekumpulan ekspresi Boolean untuk menentukan hasilnya.

Kedua format memerlukan argumen ELSE.

CASE dapat digunakan dalam pernyataan atau klausul apa pun yang memungkinkan ekspresi yang valid. Misalnya, Anda dapat menggunakan CASE dalam ekspresi seperti SELECT dan dalam klausa seperti WHERE dan HAVING.

Sintaks

Ekspresi CASE sederhana:

CASE input_expression
     WHEN when_expression THEN result_expression [ ...n ] 
     ELSE else_result_expression
END  

Ekspresi CASE yang dicari:

CASE  
     WHEN Boolean_expression THEN result_expression [ ...n ]
     ELSE else_result_expression  
END  

Argumen

input_expression

Apakah ekspresi dievaluasi ketika format CASE sederhana digunakan. Nilai yang dievaluasi dibandingkan dengan when_expression.

KAPAN when_expression

Adalah ekspresi yang input_expression dibandingkan saat menggunakan format CASE sederhana. Jenis when_expressions tidak harus cocok.

KAPAN boolean_expression

Apakah ekspresi boolean dievaluasi saat menggunakan format CASE yang dicari. Jika ekspresi ini mengevaluasi ke true, maka result_expression yang sesuai dikembalikan.

LALU result_expression

Apakah ekspresi ditampilkan saat input_expression sama dengan when_expression (dalam format CASE sederhana) atau saat boolean_expression mengevaluasi ke true (dalam format CASE yang dicari).

else_result_expression LAIN

Adalah ekspresi yang dikembalikan jika tidak ada kondisi yang dievaluasi ke TRUE.

Tipe hasil

Adalah jenis prioritas tertinggi dari kumpulan jenis dalam result_expression dan else_result_expression.

Contoh

Menggunakan pilih dengan ekspresi CASE sederhana:

  SELECT
    CASE vehicleType
      WHEN 'S' THEN 'Sedan'
      WHEN 'T' THEN 'Truck'
      WHEN 'V' THEN 'Van'
      ELSE NULL
    END as vehicleTypeName
  FROM vehicles

Menggunakan pilih dengan ekspresi CASE yang dicari:

  SELECT
    CASE
      WHEN temperature < 60 THEN 'Alert'
      ELSE 'OK'
    END as currentStatus
  FROM sensor