mysql常见函数介绍
概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名;
好处:
1、隐藏了实现细节;
2、提高代码的重用性;
调用:select 函数名(实参列表) 【from 表】;
如果函数中用到表中的字段就加表名,否则不加,但是在oracle中要加dual(临时表);
特点:
①叫什么(函数名);
②干什么(函数功能);
分类:
1、单行函数,一个参数,返回处理后的值,有且只有一行一列 如 concat、length、ifnull等;
2、分组函数,传入多行值,返回一个行一列值 功能:做统计使用,又称为统计函数、聚合函数、组函数;
一、单行函数
字符函数:
length:获取字节个数(utf-8一个汉字代表3个字节,gbk为2个字节)
concat:concat(s1,s2,sn)字符串拼接,将s1,s2,...sn拼接成一个字符串
substr:substr(str,start,len)返回从字符串str从start位置起的len个长度的字符串
substring:substrting(str,start,len)返回从字符串str从start位置起的len个长度的字符串
instr:instr(str,substr)从字符串str中返回substr字符串在第一次出现的索引位置。
trim:strim(str)去掉字符串头部和尾部的空格
upper:upper(str)将字符串str全部转换为大写
lower:lower(str)将字符串str全部转换为小写
lpad:lpad(str,n,pad)左填充,用字符串pad对字符串str左边进行填充,达到n个字符串长度
rpad:rpad(str,n,pad)右填充,字符串pad对字符串str右边进行填充,达到n个字符串长度
replace:replace(str,fromstr,tostr)字符串替换,将str字符串中的fromstr字符串替换成tostr字符串
数学函数:
round:rund()返回0~1内的随机数
rund(x,y):求参数x的四舍五入的值,保留y位小数
ceil(1.1):向上取整结果为2
floor(1.9):向下取整结果为1
truncate(X,D):数值截取,X:被截取的数值,D:截取超过D长度的小数位;TRUNCATE(3.1415,2)结果为3.14
mod(x/y):返回x/y的模(余数)
日期函数:
now():返回当前日期和时间, 2022-07-30 16:14:21
curdate():返回当前日期,不包含时间 2022-07-30
curtime():返回当前时间 16:14:56
year(date):获取指定date的年份 2022
month(date):获取指定date的月份 7
monthname(date):获取指定的英文月数名
day(date):获取指定date的日期
hour(date):获取自定date的小时
minute(date):获取指定date的分钟
second(date):获取指定date的秒
STR_TO_DATE('2022-07-11 10:10:10', '%Y-%m-%d %H:%i:%s'):字符串转时间
DATE_FORMAT('2022-07-11', '%Y年%c月%d日'):日期转字符串
其他函数:
version():获取系统版本:5.7.19
database():获取当前的库
user():root@localhost
控制函数
if(value,t,f):如果value为true,返回t,否则返回f
finull(value1,value2):如果value1不为空,返回value1;否则返回value2
case when val1 then res1... else default end:如果val1为tru,返回res1,否则返回default