mysql流控制 mysql 控制流函式

2021-10-18 11:40:27 字數 1368 閱讀 4330

ifnull(expr1,expr2)

如果 expr1 為非 null 的,ifnull() 返回 expr1,否則返回 expr2。ifnull() 返回乙個數字或字串值

mysql> select ifnull(1,0);

-> 1

mysql> select ifnull(null,10);

-> 10

如果 expr1 = expr2 為真,返回 null,否則返回 expr1。 它等同於 case when x = y then null else x end:

mysql> select nullif(1,1);

-> null

mysql> select nullif(1,2);

-> 1

nullif(expr1,expr2)

如果 expr1 = expr2 為真,返回 null,否則返回 expr1。 它等同於 case when x = y then null else x end:

mysql> select nullif(1,1);

-> null

mysql> select nullif(1,2);

-> 1

if(expr1,expr2,expr3)

如果expr1為真,那麼將返回expr2的值,否則返回expr3的值

mysql> select if(1>2,2,3);

-> 3

mysql> select if(1<2,'yes','no');

-> 'yes'

mysql> select if(strcmp('test','test1'),'no','yes');

-> 'no'

如果expr2和expr3明確的指為null,那麼將返回非null的型別..

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

mysql> select case 1 when 1 then "one"

when 2 then "two" else "more" end;

-> "one"

mysql> select case when 1>0 then "true" else "false" end;

-> "true"

mysql> select case binary "b" when "a" then 1 when "b" then 2 end;

-> null

mysql流控制 MySQL高階

控制流函式 mysql提供了4個函式是用來進行條件操作的。這些函式實現了sql的條件邏輯,允許開發者將一些應用程式業務邏輯轉換到 資料庫後台。case where test1 then result1 else de t end 如果testn為真,則返回resultn,否則返回default ca...

mysql 併發控制 mysql併發控制

mysql併發控制 當有多個查詢需要同時修改同乙個資料,就會產生併發控制的問題。mysql可以在兩個層面進行併發控制 伺服器層和儲存引擎層。mysql通過加鎖實現併發控制 鎖有兩類 讀鎖 共享鎖,即乙個讀鎖不會阻塞其它讀鎖,多個使用者可同時讀取同乙個資源,而不互相干擾。寫鎖 排他鎖,即乙個寫鎖會阻塞...

mysql報表控制語句 mysql控制語句

mysql中的使用者資訊都儲存在系統資料庫mysql的user表中 建立使用者 create user 使用者名稱 允許其登入的位址 identified by 密碼 刪除使用者 drop user 使用者名稱 允許其登入的位址 修改使用者密碼 修改自己密碼 set password passwor...