Rumah > pangkalan data > tutorial mysql > Bagaimanakah Ungkapan SQL CASE Berfungsi Merentasi Sistem Pangkalan Data Berbeza?

Bagaimanakah Ungkapan SQL CASE Berfungsi Merentasi Sistem Pangkalan Data Berbeza?

DDD
Lepaskan: 2025-01-11 06:45:41
asal
287 orang telah melayarinya

How Does the SQL CASE Expression Work Across Different Database Systems?

Sintaks lengkap ungkapan SQL CASE

Ekspresi SQL CASE direka bentuk untuk mengendalikan pertanyaan kompleks, membolehkan anda menilai berbilang syarat dan mengembalikan nilai tertentu berdasarkan syarat yang dipenuhi. Sintaksnya berbeza-beza antara enjin pangkalan data yang berbeza.

SQL Server

Sintaks umum ungkapan CASE SQL Server adalah seperti berikut:

<code class="language-sql">CASE case-expression
    WHEN when-expression-1 THEN value-1
  [ WHEN when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END</code>
Salin selepas log masuk

Oracle

Sintaks ungkapan CASE Oracle mengambil pendekatan yang sedikit berbeza:

<code class="language-sql">CASE
    WHEN boolean-when-expression-1 THEN value-1
  [ WHEN boolean-when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END</code>
Salin selepas log masuk

Komponen ungkapan CASE

  • ungkapan kes: Nilai untuk dinilai terhadap ungkapan bila.
  • ungkapan bila: Ungkapan untuk dibandingkan dengan ungkapan huruf besar.
  • nilai: Hasil pernyataan CASE jika ungkapan bila sepadan sepadan dengan ungkapan huruf besar.
  • ungkapan-boolean: Ungkapan Boolean yang menentukan sama ada hendak mengembalikan nilai yang sepadan.
  • nilai-lain: Nilai dikembalikan jika tiada ungkapan bila sepadan dengan ungkapan huruf besar.

Semantik pelaksanaan

Ekspresi CASE menilai setiap ungkapan apabila secara berurutan. Apabila padanan ditemui, nilai yang sepadan dikembalikan. Jika tiada padanan ditemui, kembalikan nilai lain jika ada. Ambil perhatian bahawa susunan ungkapan bila adalah penting kerana ungkapan padanan pertama diutamakan.

Contoh

Pertimbangkan pertanyaan berikut:

<code class="language-sql">SELECT CASE student_age
    WHEN 18 THEN 'Teenager'
    WHEN 21 THEN 'Adult'
    ELSE 'Minor'
END AS age_category
FROM students;</code>
Salin selepas log masuk

Pertanyaan ini memberikan kategori umur kepada pelajar berdasarkan umur mereka, "Remaja" jika mereka berumur 18 tahun, "Dewasa" jika mereka berumur 21 tahun atau "Minor" jika mereka berumur bawah 18 tahun atau tiada padanan ditemui.

Atas ialah kandungan terperinci Bagaimanakah Ungkapan SQL CASE Berfungsi Merentasi Sistem Pangkalan Data Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan