資料庫 控制流函式

2022-03-09 14:47:51 字數 1057 閱讀 2898

***sql case when then end 用法

一.控制流程函式

1.case value when [compare-value] then result [when [compare-value] then result ...] [else result] end case when [condition] then result [when [condition] then result ...] [else result] end

該語句用於在不同情況時,執行不同的語句,例項如下:

eg1. select case when 1>0 then 'true' else 'false' end;

輸出:true

eg2. select case binary 'b' when 'a' then 1 when 'b' then 2 end;

輸出:null

2.if(expr1,expr2,expr3)

如果expr1返回true,則該表示式返回expr2,否則返回expr3。

eg1. select if(1<2,'yes ','no');

輸出:'yes '

eg2. select if(strcmp('test','test1'),'no','yes');

上例中strcmp(expr1, expr2)這個函式在expr1小於expr2時,返回-1,相等時返回0,其餘的情況返回1,在上例中返回-1,因此上例的輸出為:'yes'

3.ifnull(expr1,expr2)

該函式在expr1為null時,返回expr2,否則,返回expr1。

eg1. select ifnull(1,0);

輸出:1

eg2. select ifnull(null,10);

輸出:10

4.nullif(expr1,expr2)

如果expr1=expr2,則返回null,否則,返回expr1。

eg1. select nullif(1,1);

輸出:null

eg2. select nullif(3,4);

輸出:3

mysql流控制 mysql 控制流函式

ifnull expr1,expr2 如果 expr1 為非 null 的,ifnull 返回 expr1,否則返回 expr2。ifnull 返回乙個數字或字串值 mysql select ifnull 1,0 1 mysql select ifnull null,10 10 如果 expr1 e...

資料庫版本控制

資料庫的版本控制與 版本控制的區別在於資料庫中的生產資料是現場創造的,當我們的表結構發生改變時,不能直接用drop table然後再create table,因為這樣會導致生產資料丟失。而 則完全由開發人員創造,可以用完全覆蓋的方式公升級。由於這點不同,致使資料庫在版本控制的過程中必然要採 用與 不...

資料庫併發控制

資料庫併發控制 1 在資料庫中為什麼要併發控制?答 資料庫是共享資源,通常有許多個事務同時在執行。當多個事務併發地訪問資料庫時就會產生同時讀取和 或修改同一資料的情況。若對併發操作不加控制就可能會訪問和儲存不正確的資料,破壞資料庫的一致性。所以資料庫管理系統必須提供併發控制機制。2 併發操作可能會產...