cari
Rumahpangkalan dataSQLsql中case when的用法

sql中case when的用法

Feb 13, 2020 pm 04:35 PM
casesqlpenggunaan

sql中case when的用法

sql中case when的用法

case具有两种格式。简单case函数和case搜索函数。

1、简单case函数

case sex
  when '1' then '男'
  when '2' then '女’
  else '其他' end

2、case搜索函数

case when sex = '1' then '男'
     when sex = '2' then '女'
     else &#39;其他&#39; end</span>

这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式。(免费学习视频教程推荐:mysql视频教程

还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。

比如说,下面这段sql,你永远无法得到“第二类”这个结果

case when col_1 in (&#39;a&#39;,&#39;b&#39;) then &#39;第一类&#39;
     when col_1 in (&#39;a&#39;) then &#39;第二类&#39;
     else &#39;其他&#39; end

实例演示:

首先创建一张users表,其中包含id,name,sex三个字段,表内容如下:

select * from users
 
 ID        NAME                 SEX
---------- -------------------- ----------
1          张一                 
2          张二                 1
3         张三                 
4          张四                
5          张五                 2
6          张六                 1
7          张七                 2
8          张八                 1

1、上表结果中的"sex"是用代码表示的,希望将代码用中文表示。可在语句中使用case语句:

select u.id,u.name,u.sex,
   (case u.sex
      when 1 then &#39;男&#39;
      when 2 then &#39;女&#39;
      else &#39;空的&#39;
      end
     )性别
  from users u;
                                    ID NAME                        SEX 性别
--------------------------------------- -------------------- ---------- ------
                                      1 张一                            空的
                                      2 张二                          1 男
                                      3 张三                            空的
                                      4 张四                            空的
                                      5 张五                          2 女
                                      6 张六                          1 男
                                      7 张七                          2 女
                                      8 张八                          1 男

 2、如果不希望列表中出现"sex"列,语句如下:

select u.id,u.name,
    (case u.sex
      when 1 then &#39;男&#39;
      when 2 then &#39;女&#39;
      else &#39;空的&#39;
      end
    )性别
  from users u;
 
                                     ID NAME                 性别
--------------------------------------- -------------------- ------
                                      1 张一                 空的
                                      2 张二                 男
                                      3 张三                 空的
                                      4 张四                 空的
                                      5 张五                 女
                                      6 张六                 男
                                      7 张七                 女
                                      8 张八                 男

3、将sum与case结合使用,可以实现分段统计。

如果现在希望将上表中各种性别的人数进行统计,sql语句如下:

select
    sum(case u.sex when 1 then 1 else 0 end)男性,
    sum(case u.sex when 2 then 1 else 0 end)女性,
    sum(case when u.sex <>1 and u.sex<>2 then 1 else 0 end)性别为空
  from users u;
 
        男性         女性       性别为空
---------- ---------- ----------
         3          2          0
 
--------------------------------------------------------------------------------
SQL> select
    count(case when u.sex=1 then 1 end)男性,
    count(case when u.sex=2 then 1 end)女,
    count(case when u.sex <>1 and u.sex<>2 then 1 end)性别为空
  from users u;
 
        男性          女       性别为空
---------- ---------- ----------
         3          2          0

Atas ialah kandungan terperinci sql中case when的用法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
SQL: Keluk Pembelajaran untuk PemulaSQL: Keluk Pembelajaran untuk PemulaApr 16, 2025 am 12:11 AM

Kurva pembelajaran SQL adalah curam, tetapi ia dapat dikuasai melalui amalan dan memahami konsep teras. 1. Operasi asas termasuk pilih, masukkan, kemas kini, padam. 2. Pelaksanaan pertanyaan dibahagikan kepada tiga langkah: analisis, pengoptimuman dan pelaksanaan. 3. Penggunaan asas adalah seperti menanyakan maklumat pekerja, dan penggunaan lanjutan adalah seperti menggunakan Jadual Sambungan Join. 4. Kesilapan umum termasuk tidak menggunakan suntikan alias dan SQL, dan pertanyaan parameter diperlukan untuk mencegahnya. 5. Pengoptimuman prestasi dicapai dengan memilih lajur yang diperlukan dan mengekalkan pembacaan kod.

SQL: Perintah, MySQL: EnjinSQL: Perintah, MySQL: EnjinApr 15, 2025 am 12:04 AM

Perintah SQL dibahagikan kepada lima kategori dalam MySQL: DQL, DDL, DML, DCL dan TCL, dan digunakan untuk menentukan, mengendalikan dan mengawal data pangkalan data. MySQL memproses arahan SQL melalui analisis leksikal, analisis sintaks, pengoptimuman dan pelaksanaan, dan menggunakan pengoptimuman indeks dan pertanyaan untuk meningkatkan prestasi. Contoh penggunaan termasuk pilih untuk pertanyaan data dan bergabung dengan operasi multi-meja. Kesalahan umum termasuk isu sintaks, logik, dan prestasi, dan strategi pengoptimuman termasuk menggunakan indeks, mengoptimumkan pertanyaan, dan memilih enjin penyimpanan yang betul.

SQL untuk Analisis Data: Teknik Lanjutan untuk Perniagaan PerniagaanSQL untuk Analisis Data: Teknik Lanjutan untuk Perniagaan PerniagaanApr 14, 2025 am 12:02 AM

Kemahiran pertanyaan lanjutan di SQL termasuk subqueries, fungsi tetingkap, CTE dan gabungan kompleks, yang dapat mengendalikan keperluan analisis data yang kompleks. 1) Subquery digunakan untuk mencari pekerja dengan gaji tertinggi di setiap jabatan. 2) Fungsi tetingkap dan CTE digunakan untuk menganalisis trend pertumbuhan gaji pekerja. 3) Strategi Pengoptimuman Prestasi termasuk pengoptimuman indeks, penulisan semula pertanyaan dan menggunakan jadual partition.

MySQL: Pelaksanaan khusus SQLMySQL: Pelaksanaan khusus SQLApr 13, 2025 am 12:02 AM

MySQL adalah sistem pengurusan pangkalan data sumber terbuka yang menyediakan fungsi dan sambungan SQL standard. 1) MySQL menyokong operasi SQL standard seperti membuat, memasukkan, mengemas kini, memadam, dan melanjutkan klausa had. 2) Ia menggunakan enjin penyimpanan seperti InnoDB dan Myisam, yang sesuai untuk senario yang berbeza. 3) Pengguna boleh menggunakan MySQL dengan cekap melalui fungsi lanjutan seperti membuat jadual, memasukkan data, dan menggunakan prosedur yang disimpan.

SQL: Membuat pengurusan data boleh diakses oleh semuaSQL: Membuat pengurusan data boleh diakses oleh semuaApr 12, 2025 am 12:14 AM

SqlmakesdatamanagementaccessibleLyprovidingasimpleyetPowultoLsetForqueryingandManagingDataBases.1) itworksWithRelationalDataBases, membolehkanSengserSteShipifyWheyTheyWantTodoThedata.2)

Strategi Pengindeksan SQL: Meningkatkan prestasi pertanyaan dengan pesanan magnitudStrategi Pengindeksan SQL: Meningkatkan prestasi pertanyaan dengan pesanan magnitudApr 11, 2025 am 12:04 AM

Indeks SQL dapat meningkatkan prestasi pertanyaan melalui reka bentuk pintar. 1. Pilih jenis indeks yang sesuai, seperti B-Tree, Hash atau Indeks Teks Penuh. 2. Gunakan indeks komposit untuk mengoptimumkan pertanyaan berbilang bidang. 3. Elakkan daripada indeks untuk mengurangkan overhead penyelenggaraan data. 4. Mengekalkan indeks secara teratur, termasuk membina semula dan mengeluarkan indeks yang tidak perlu.

Cara memadam kekangan dalam SQLCara memadam kekangan dalam SQLApr 10, 2025 pm 12:21 PM

Untuk memadam kekangan dalam SQL, lakukan langkah -langkah berikut: Kenal pasti nama kekangan yang akan dipadam; Gunakan Penyata Jadual ALTER: Alter jadual Jadual Nama Kekangan Kekangan Nama Kekangan; Sahkan penghapusan.

Cara menetapkan pencetus sqlCara menetapkan pencetus sqlApr 10, 2025 pm 12:18 PM

Pencetus SQL adalah objek pangkalan data yang secara automatik melakukan tindakan tertentu apabila peristiwa tertentu dilaksanakan pada jadual yang ditentukan. Untuk menyediakan pencetus SQL, anda boleh menggunakan pernyataan pencetus CREATE, yang termasuk nama pencetus, nama jadual, jenis acara, dan kod pencetus. Kod pencetus ditakrifkan menggunakan kata kunci AS dan mengandungi pernyataan SQL atau PL/SQL atau blok. Dengan menentukan keadaan pencetus, anda boleh menggunakan klausa WHERE untuk mengehadkan skop pelaksanaan pencetus. Operasi pencetus boleh dilakukan dalam kod pencetus menggunakan penyata masuk, kemas kini, atau padam. Kata kunci baru dan lama boleh digunakan untuk merujuk kata kunci yang terjejas dalam kod pencetus.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.