内置函数
select truncate (X,y): 返回保留y位的值
CEIL (x),CEILIN(x):返回不小于x的最小整数值
FLOOR (x):返回不大于x的最大整数值
RAND (): 返回0~1的随机数
ROUND (x) :返回离x最近的整数(取整)
ROUND(x,y):返回数值x保留到小数点后y位的值,但要四舍五入
Char_length (x): 返回字符串x的字符数
Length (s): 返回值为字符串s的长度,单位为字节
Insert(s1,x,len,s2):将字符串说s2替换s1的x的位置开始长度为len的字符串
Left(s,n):从字符串s开始的前n个字符
Right(s,n):从字符串s开始,返回右边的n个字符
Ltrim(s):返回字符串s,其引导空格字符被删除
Rtrim(s):返回字符串s,结尾空格字符被删除
Trim(s):去掉字符串s开始处和结尾处的空格
Replace(s,s1,s2):用字符串s2替代字符串s中的字符串s1
Substring(s,n,len):获取从字符串s中的第n个位置开始长度为len的字符串
Instr(s,s1):从字符串s中获取s1的开始位置
Datediff(d1,d2):计算日期d1~d2之间相隔的天数
Adddate(d,n): 计算起始日期d加上n天的日期
Adddate(d,interval expr type):计算起始日期d加上一个时间段后的日期
示例:
select adddate(curdate(),interval -2 year)
select adddate(curdate(),interval 2 day)
select adddate(curdate(),interval 2 month)
Subdate(d,n):计算起始日期d减去n天后的日期
Subdate(d,interval expr type):计算起始日期d减去一个时间段后的日期
示例1:
select subdate(curdate(),2)
select subdate(curdate(),interval 2 day)
select subdate(curdate(),interval 2 year)
示例2:
1-从员工表中找出30年都没有加薪的员工(姓名,部门,目前薪资,加薪日期)
第一种写法:
select 姓名,部门,目前薪资,加薪日期 from 员工 where year(curdate())-year(加薪日期)>30
第二种写法:
select 姓名,部门,目前薪资,加薪日期 from 员工
where subdate(curdate(),interval 30 year)> 加薪日期
第三种写法:
select 姓名,部门,目前薪资,加薪日期 from 员工
where timestampdiff(year,加薪日期,curdate())>30
类型转换函数
cast(expression AS type)
convert(expression, type)
示例:字符串转数字?
select cast(‘100’ as SIGNED )+100 as result
select convert(‘100’ ,SIGNED )+100 as result
####条件判断函数
If(expr,v1,v2):如果表达式expr成立,则执行v1,否则执行v2
Ifnull(v1,v2):如果v1不为空,则显示v1的值,否则显示v2的值