Rumah >pangkalan data >tutorial mysql >Cara menggunakan fungsi kawalan aliran MySQL

Cara menggunakan fungsi kawalan aliran MySQL

WBOY
WBOYke hadapan
2023-05-28 15:58:17959semak imbas

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)

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

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

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;

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)

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

). Cara menggunakan fungsi kawalan aliran MySQL

Bersamaan dengan fungsi IF

SELECT IF(null IS NULL,null,'不空') AS notNull

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;
        }

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`;

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("不及格");
        }

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

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam