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的值