mysql條件控制case和if

2021-09-11 10:27:46 字數 2332 閱讀 4997

if 和 ifnull

在做判斷時,case 是一種非常好用的方法

記住,沒有else會返回 null

整點資料測試一下

set foreign_key_checks=0;

drop

table

ifexists

`customer`

;create

table

`customer`

(`obj_id`

int(11)

notnull

auto_increment

,`name`

varchar(50

)not

null

,`***`

tinyint(4

)not

null

default

'1',

`email`

varchar

(100

)default

null

,primary

key(

`obj_id`))

engine

=innodb

auto_increment=8

default

charset

=utf8;

insert

into

`customer`

values

('1'

,'風清揚'

,'1'

,'[email protected]');

insert

into

`customer`

values

('2'

,'令狐沖'

,'1'

,'[email protected]');

insert

into

`customer`

values

('3'

,'林青霞'

,'2'

,'[email protected]');

insert

into

`customer`

values

('4'

,'石濤'

,'1'

,null);

insert

into

`customer`

values

('5'

,'黎明'

,'1'

,'[email protected]');

insert

into

`customer`

values

('6'

,'王振'

,'1'

,null);

insert

into

`customer`

values

('7'

,'老頑童'

,'1'

,'[email protected]');

insert

into

`customer`

values

('8'

,'東方不敗'

需要注意

曾經updat語句時,使用case忘記寫else,造成了許多資料成了null

一失足成千古恨,大家慎重慎重

沒有寫else的返回結果

如果,你不僅想判斷某乙個屬性,而是想判斷多個屬性的多個值

就需要 case 多個屬性注意

在mysql中,0或 null意味著假,而其它值意味著真。布林運算的預設真值是1。

if參考

if-or-case in procedure

Mysql 條件判斷Case 使用

select substr t1.area id,1,1 type,substr t1.area id,2 id,case substr t1.area id,1,1 when c then select t2.country from countnumber.dbtable countryid t...

使用控制結構 條件分支語句 CASE語句

當處理多重條件分支時,不僅可以使用if語句,而且可以使用case語句。因為使用case語句更加簡潔,而且執行效率也更好,所以建議使用case 語句。注意 為了避免case not found 例外,在編寫case語句時應該帶有else 子句。declare v deptno emp.deptno t...

Mysql之流程控制語句case

case 要判斷的字段或表示式 when 常量1 then 要顯示的值1或語句1 when 常量2 then 要顯示的值2或語句2 else 要顯示的值n或語句n end部門編號是30,工資顯示為2倍 部門編號是50,工資顯示為3倍 部門編號是60,工資顯示為4倍 否則不變 顯示 部門編號,新工資,...