1.字符串函数

函数

作用

concat(s1,s2…)

将字符串转换为小写

lower(str)

将字符串转换为小写

upper(str)

将字符串转换成大写

lpad(str,n,pad)

在字符串str左边填充pad,直至到达n位

rpad(str,n,pad)

在字符串str右边填充pad,直至到达n位

trim(str)

去除str头部和尾部空格

substring(str,start,len)

在str字符串中从start位置开始,截取len位(字符串的位置,下标是从1开始的)

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

对分组之后的组内元素进行拼接,拼接成字符串

substring_index(字符串,分隔符,序号)

对字符串进行分隔,序号为数字,为正表示从左到要,为负数表示从右至左

CAST(value AS datatype)

将value转换成指定的类型,如cast(123 as char)   就是将数字123转换成字符类型

2.数值函数

函数

作用

ceil(x)

向上取整

floor(x)

向下取整

mod(x,y)

返回x/y的模

rand()

返回0~1内的随机数

round(x,y)

求删除x的四舍五入的值,保留y位小数

3.日期函数

函数

作用

curdate()

返回当前日期

curtime()

返回当前时间

now()

返回当前日期和时间

year(date)

获取指定data的年份

month(date)

获取指定data的月份

Date_add(date,interval expr type)

返回一个日期/时间加上一个时间间隔expr后的时间值,interval照写,type是时间类型,如yead,month,day

datediff(data1,date2)

返回起始时间data1和结束时间data2之间的天数,date1-date2

Date(时间)

将时间“yyyy-MM-dd hh:mm:ss”中的年月日提取出来

Date_format(date,格式)

将date格式化成指定的格式,其中格式一般有:   '%Y'     '%M'   等,具体格式自行百度,例子:date_format('2021-11-11','%Y')   输出就是2021

4.流程函数

函数

作用

例子

if(value,t,f)

如果value为true,则返回t,否则返回f

Select  if(name =’wdm‘,'是','不是')from user;

ifnull(value1,value2)

如果value1不为空,返回value1,否则返回value2

Select ifnull(name,'名字为空')from user;

Case when [val1] then [res1].. Else [default] end

如果val1位true,返回res1…,否则返回default默认值(适用于expr>val1这种范围性形式)

 

 

Case [expr] when [val1] then [res1]  … else [default] end

如果expr的值等于val1,返回res1 ,…否则返回default默认值(适用于expr=val这样的具体形式)

Select

Case name when 'wdm' then  ’王德明‘ when ’zql‘ then '张巧玲'  else  ’其他人‘  end

From user;

5.其它

函数

作用

例子

count(条件)

计算分组中满足条件的数据数量,必须要加or null,不然统计不对

count(sfwc ='否' or null) as '未完成数'

LENGTH(字符串)

取mysql表中以逗号分隔的字符串的长度

SELECT LENGTH(字段) - LENGTH(REPLACE(字段, ',', '')) + 1 AS num_count FROM 表;