if函式根據條件的結果為true或false,返回第乙個值,或第二個值
if(condition, value_if_true, value_if_false)
引數 描述
condition 必須,判斷條件
value_if_true 可選,當條件為true值返回的值
value_if_false 可選,當條件為false值返回的值
當查詢表裡的性別欄位時,用if函式,將表中存的數字轉換成字串查出來
首先建乙個學生表
create table `student` (
`id` int(11) not null auto_increment,
`nick` varchar(20) not null,
`gender` tinyint(1) not null,
primary key (`id`) using btree
)insert into student(nick, gender) values ('xiaoming', 1),('xiaohong', 2),('xiaogang', 1)
當我們關聯查詢時,1顯示男生同學,2顯示女生同學,這種業務場景下就要使用if函式查詢
例:select id as '學生id',nick as '學生暱稱',if(gender = 1,'男','女') as '性別' from student
查詢結果為:
學生id 學生暱稱 性別
1 xiaoming 男
2 xiaohong 女
3 xiaogang 男
注:第乙個字段可以使用各種條件判斷,比如》,<,=,<>,甚至還能做運算,如gender+1 = 2這樣的判斷
如果我們不寫任何判斷條件,直接寫gender欄位,那則會通過真假來判斷顯示,0,'',null均為false,會走第二個條件
mysql 函式FIND IN SET 使用方法
1,資料庫表結構如下 1.賬戶表 2.班級表 注意班級裡的teachers欄位就是存放賬戶的id,存放多個賬戶id用,隔開。如果要查詢通過班級id查詢班級下的所有老師資訊,需要聯合查詢兩張表,這時候就需要用到find in set 函式出場,可以處理多個,隔開的儲存情況 sql如下 select a...
mysql中FIND IN SET的使用方法
在mysql中,有時我們在做資料庫查詢時,需要得到某字段中包含某個值的記錄,但是它也不是不能用like解決的,使用like可能查到我們不想要的記錄,它比like更精準,這時候mysql的find in set函式就派上用場了,下面來具體了解一下。find in set str,strlist 函式 ...
mysql中FIND IN SET的使用方法
在mysql中,有時我們在做資料庫查詢時,需要得到某字段中包含某個值的記錄,但是它也不是用like能解決的,使用like可能查到我們不想要的記錄,它比like更精準,這時候mysql的find in set函式就派上用場了,下面來具體了解一下。find in set str,strlist 函式 s...