mysql流程函式if之類

2021-09-07 16:58:48 字數 853 閱讀 2556

表名: salary

userid | salary|

1  | 1000

2  | 2000

3  | 3000

4  | null

if(value, t, f)    如果value是真, 返回t;否則返回f

舉例:select if(salary>2000, 'high', 'low') from salary

注意: 這裡會把null當成false處理

ifnull(value1, value2)  如果value1不為空, 則返回value1, 否則返回value2

舉例:select ifnull(salary, 0) from salary

case when [value1] then [result1]... else [default] end   如果value1是真, 返回result,否則返回default

類似if()但又不同於

舉例:select case when salary <= 2000 then 'low' else 'high' end from salary;

注意: 這裡會把null當成不滿足條件處理, 得到high, 因為null 不是<= 2000的

case 【expr】 when 【value1】 then 【result】... else [default] end  如果expr等於value1, 返回result1, 否則返回default

有點類似於python的if條件

舉例:select salary when 1000 then 'low' when 2000 then 'high' else 'mid' end

mysql的操作流程 MySQL流程函式的操作方法

流程函式是一類很常用的函式,我們可以通過流程函式在sql語句中實現條件選擇,能實現我們想要的條件判斷。下表列出了mysql中的流程函式。mysql流程函式 1 建立測試表test,並寫入一些資料,然後檢視當前的資料,為後面測試做資料原。建立測試表 2 if value,t,f 函式,判斷value是...

mysql控制流程函式

假設有乙個表table,其中欄位有getmoney收入 select if getmoney 100000,getmoney,收入太高不記 from table 作用是得到乙個結果集,其中只有乙個字段,該欄位名字為if getmoney 100000,getmoney,收入太高不記 這個名字不太好記...

mysql函式之控制流程函式

1 函式 case value when compare value then result when compare value thenresult else result end case when condition thenresult when condition then result...