国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

MySQL中case when的兩種基本用法及區別總結

瀏覽:180日期:2023-05-05 10:11:53

MySQL中的case when有用兩種用法,官方文檔中的說明如下:

用法一:

CASE case_value    WHEN when_value THEN statement_list    [WHEN when_value THEN statement_list] ...    [ELSE statement_list]END CASE

用法二:

CASE    WHEN search_condition THEN statement_list    [WHEN search_condition THEN statement_list] ...    [ELSE statement_list]END CASE

下面通過具體示例來說明case when這兩種用法的區別:

創建salary表,并向salary表中插入數據:

# 創建salary表:create table salary(id int,name char(1),sex char(1),salary int)engine myisam charset utf8;#向salary表中插入數據:insert into salary values(1,"A","m",2500),(2,"B","f",1500),(3,"C","m",5500),(4,"D","f",500);

示例一:在查詢語句中實現更改salary表中員工的性別,即如果員工的性別是‘m’,則將其改為‘f’,反之如果性別為‘f’,則將其改為‘m’。

采用case when的第一種用法:

select id,name,case sexwhen "f" then "m"else "f" end as new_sex,salary from salary;

這種用法通過比較case后面的case_value和第一個when后面的when_value,若二者相等則給new_sex賦一個指定的值,若二者值不相等,則比較case_value與第二個when后面的when_value是否相等,以此類推。若case_value與所有的when_value都不相等,且有else語句的話,則把else后面的值賦給new_sex,否則把null值賦給new_sex。

采用case when的第二種用法:

select id,name,casewhen sex="f" then "m"else "f" end as new_sex,salary from salary;

上述代碼中,when后面是一個邏輯表達式,若表達式為真,則把then后面的值賦給new_sex;若第一個when后面表達式為假,則查看第二個when后面的邏輯表達式,以此類推的;若所有when后面的邏輯表達式均為假,且有else語句的話,則把else后面的值賦給new_sex,否則把null值賦給new_sex.

示例二:在查詢語句中實現將salary表中員工的工資歸類。歸類依據是,工資在1000元以下的歸為‘low’類,工資在1000-3000元范圍歸為‘middle’類,工資在3000元以上的歸為‘high’類。

這種情況只能采用case when的第二種用法:

select id,name,sex,casewhen salary > 3000 then "high"when salary between 1000 and 3000 then "middle"else "low" end as salary_level from salary;

假如以3000元為界限,將3000元以上的工資歸為‘high'類,3000元以下包括3000元的工資歸為‘low’類,則此時也可以采用case when的第一種用法:

select id,name,sex,case salary>3000when True then "high"else "low" end as salary_level from salary;

總結:由前文所述可知,case when的第一類用法只適用于二值比較問題,而case when的第二種用法的適用范圍更廣。因此我將case when的第一中用法理解為簡單條件賦值,第二種用法理解為復雜條件賦值。

補充:MySQL中的case when 中對于NULL值判斷

總結

到此這篇關于MySQL中case when的兩種基本用法及區別總結的文章就介紹到這了,更多相關MySQL中case when用法內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MySQL
主站蜘蛛池模板: 国产手机在线国内精品 | 99j久久精品久久久久久 | 精品国产高清a毛片无毒不卡 | 国产成人久久一区二区三区 | 一区二区三区高清视频在线观看 | 亚洲爱爱爱 | 99视频有精品视频免费观看 | 国内精品视频成人一区二区 | 久久精品久久精品久久 | 国产精品jvid在线观看 | 一级做a爰片久久毛片16 | 国产乱码精品一区二区三区卡 | 国产精品毛片va一区二区三区 | 热久久伊人 | 综合久久久久久 | 国产欧美日本亚洲精品五区 | 爽爽日本在线视频免费 | 久久久久久久久久久观看 | 中国美女牲交一级毛片 | 一级毛片无毒不卡直接观看 | 草草免费观看视频在线 | 国产亚洲欧美一区 | 精品一区二区三区在线成人 | 男人的天堂精品国产一区 | 欧美色欧美亚洲高清在线视频 | 男同黄网站 | 一本本久综合久久爱 | 久久久久亚洲香蕉网 | 免费萌白酱国产一区二区三区 | 久久国产精品一国产精品 | 国产三级一区二区 | 九九久久国产精品 | 成年人免费黄色 | 亚洲毛片在线观看 | 久久精品国产屋 | 欧洲一级鲁丝片免费 | 日本一级看片免费播放 | 久久成人18 | 香蕉久久久久 | 精品欧美一区二区在线观看 | 网红主播大尺度精品福利视频 |