MySQL中IF函式的使用方法

2021-09-29 13:01:20 字數 970 閱讀 4227

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...