Cara menggunakan fungsi kawalan aliran MySQL

WBOY
Lepaskan: 2023-05-28 15:58:17
ke hadapan
923 orang telah melayarinya

Dalam MySQL, fungsi kawalan proses merujuk kepada pernyataan yang boleh mengawal aliran pelaksanaan prosedur atau fungsi yang disimpan. Berikut ialah beberapa fungsi kawalan proses yang biasa digunakan:

1.Fungsi IF

mencapai kesan IF……ELSE…….

# 如果expr1为true,则返回expr2,否则返回expr3
IF(expr1,expr2,expr3)
Salin selepas log masuk

Dapat dilihat bahawa fungsi IF sangat serupa dengan operator ternary, seperti:

		// 比较最大数
        int a=10;
        int b=5;
        // 比较
        int bigNum=a>b?a:b;
Salin selepas log masuk

Iaitu, antara tiga parameter fungsi IF, expr1 ialah ungkapan bersyarat , dan keputusan akhir adalah benar atau salah, jika keadaan adalah benar (benar), expr2 dikembalikan, jika keadaan tidak benar (salah), expr3 dikembalikan. Contoh:

SELECT IF(10>5,10,5) AS bigNum;
Salin selepas log masuk

Cara menggunakan fungsi kawalan aliran MySQL

2. Fungsi IFNULL

juga mencapai kesan IF……ELSE……, yang bersamaan dengan varian fungsi IF.

# 如果expr1不为NULL,则返回expr1,否则返回expr2
IFNULL(expr1,expr2)
Salin selepas log masuk

menukar ungkapan bersyarat asal menjadi satu yang menentukan sama ada expr1 adalah null Jika ia bukan null, ia adalah dirinya sendiri (expr1 Jika ia kosong, ia adalah expr2.

SELECT IFNULL(null,'不空') AS notNull
Salin selepas log masuk

). Cara menggunakan fungsi kawalan aliran MySQL

Bersamaan dengan fungsi IF

SELECT IF(null IS NULL,null,'不空') AS notNull
Salin selepas log masuk

untuk menentukan sama ada expr1 kosong, jika ia kosong (benar) ia memaparkan expr2, jika ia tidak kosong (palsu) ia memaparkan expr3

3. Fungsi CASE

Fungsi case mempunyai dua kesan berbeza

switch case

Ia bersamaan dengan kesan suis case di java. Iaitu, nilai ungkapan pembolehubah dalam suis dibandingkan dengan pemalar di belakang kes itu.

		int week=3;
        switch (week){
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("非法数据");
                break;
        }
Salin selepas log masuk

dinyatakan dalam SQL:

# NOW()函数用于获取当前日期和时间,
# WEEKDAY(date)函数,表示返回date对应的工作日索引,
# 因为索引从0开始,所以加1;也可以不加1,将when的常量改为工作日索引也可
SELECT CASE WEEKDAY(NOW())+1
	WHEN 1 THEN '星期一'
	WHEN 2 THEN '星期二'
    WHEN 3 THEN '星期三'
    WHEN 4 THEN '星期四'
    WHEN 5 THEN '星期五'
    WHEN 6 THEN '星期六'
    WHEN 7 THEN '星期日'	
	ELSE '非法数据'
END AS `week`;
Salin selepas log masuk

Cara menggunakan fungsi kawalan aliran MySQL

Struktur fungsi

Kes Pembolehubah (medan) atau ungkapan yang akan dinilai
apabila pemalar 1 maka nilai 1 (atau pernyataan 1) untuk dipaparkan;
apabila pemalar 2 maka nilai 2 (atau pernyataan 2) untuk dipaparkan;
.....
lain kepada Nilai yang dipaparkan n atau pernyataan n;
tamat

Nota:

  • berbeza daripada java, tulis huruf kecil terus dan bukannya suis, dan tiada kurungan kerinting

  • Tambah nilai pemalar terus selepas tanpa menulis titik bertindih Gunakan kemudian

  • Jika terdapat nilai yang dipaparkan selepas itu, tidak ada. perlu menambah koma bertitik; jika penyataan ditambah selepas itu, koma bertitik perlu ditambah.

  • apabila……maka……

  • Lainnya ialah lain.

  • berakhir dengan penghujung

4. Berganda JIKA

adalah serupa dengan berbilang jika penghakiman dalam java.

		int grade=87;
        if (grade>=90){
            System.out.println("优秀");
        }else if (grade>=80){
            System.out.println("良好");
        }else if (grade>=70){
            System.out.println("一般");
        }else if (grade>=60){
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
Salin selepas log masuk

dinyatakan dalam sql:

SELECT id,`name`,chinese,
	CASE
		WHEN chinese>=90 THEN '优秀'
		WHEN chinese>=80 THEN '良好'
		WHEN chinese>=70 THEN '一般'
		WHEN chinese>=60 THEN '及格'
		ELSE '不及格'
	END AS `rank`
FROM student
Salin selepas log masuk

Cara menggunakan fungsi kawalan aliran MySQL

Struktur fungsi:

kes
apabila keadaan 1 akan dipaparkan Nilai 1 atau pernyataan 1;
apabila keadaan 2 maka nilai 2 atau pernyataan 2 untuk dipaparkan;
......
nilai n lain atau pernyataan n untuk dipaparkan
tamat

Nota:

  • Tiada syarat demi kes

  • apabila diikuti dengan syarat, hasilnya benar atau false; syarat itu dipenuhi Laksanakan kemudian dan paparkan nilai atau pernyataan berikut

  • Begitu juga, jika terdapat nilai yang dipaparkan selepas itu, tidak perlu menambah koma bertitik; kenyataan selepas itu, koma bertitik diperlukan .

Atas ialah kandungan terperinci Cara menggunakan fungsi kawalan aliran MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!