MySQL中常见的函数
一、大小写控制函数(与Oracle相同)
lower(str)
转换大小写混合的字符串为小写字符串;
例
查询employees表,显示员工姓名为大写格式;
Select lower(last_name) from employees;
Upper(str)
转换大小写混合的字符串为大写字符串;
例
查询employees表,显示员工姓名为小写格式;
Select upper(last_name) from employees;
二、字符处理
Concat(str1,str2,…)
将str1、str2等字符串链接起来;
例
查询employees表,显示员工姓名,工作ID,薪水并将其链接起来用#号 隔开;
Select concat(last_name,”#”,dept_id,”#”,salary) from employees;
Substr(str,pos,len)
从str的第pos为(范围:1~str.length)开始,截取长度为len的字符串;
例
截取字符串abcdeafedeldjaofj,显示从第4位开始长度为8的字符串;
Select substr("abchellojimjaofj" , 4 , 8) from dual;(from dual;可以不添加)
Length(str)
获取str的长度;
例
获取字符串abcdeafedeldjaofj的长度;
Select length(“abcdeafedeldjaofj”);
Insrt(str,substr)
获取substr在str中的位置;
例
获取jim在字符串abcdeafedeldjaofj中的位置;
Select instr("abchellojimjaofj","jim");
Lpad(str,len,padstr)/rpad(str,len,padstr)
用给定的字符左/右填充字符串到给定的长度。
例
一、向字符串jim左侧添加*使字符串长度变为五;
Select lpad("jim",5,"*");
二、向字符串jim右侧添加*使字符串长度变为五;
Select rpad("jim",5,"*");
Trim(str)
从str中删除开头和结尾的空格(不会处理字符串中间含有的空格)
例
去除字符串" abchellojimjaofj "开头与结尾的空格;
Select trim(" abchellojimjaofj ");
Ltrim(str)/rtrim(str)
从str中删除左侧开头的空格/右侧结尾的空格;
例
一、去除字符串" abchellojimjaofj "开头的空格;
Select ltrim(" abchellojimjaofj");
二、去除字符串" abchellojimjaofj "结尾的空格;
Select rtrim("abchellojimjaofj ");
Replace(str,from_str,to_str)
将str中的from_str替换为to_str(会替换掉所有符合from_str的字符串);
(也可以作为去除字符串中间空格的方法)
例
一、将字符串abchellojimjaofj中的j替换成T;
Select replace("abchellojimjaofj","j","T");
二、将字符串ab ch ell o j im j aofj中的空格去掉;
Select replace("ab ch ell o j im j aofj"," ","");
三、数字函数
Round(arg1,arg2)
四舍五入指定小数的值;
例
保留数字41356738.8926小数后1位;
Select round(41356738.8926,1);
Round(arg1)
四舍五入保留整数;
例
保留数字41356738.8926的整数位;
Select round(41356738.8926);
Truncate(arg1,arg2)
截断指定小数的值,不做四舍五入处理;
例
一、保留数字41356738.8926小数后1位;
Select truncate(41356738.8926,1);
二、保留数字41356738.8926的整数位;
Select truncate(41356738.8926,0);
Mod(arg1,arg2)
取余;
例
求8除3的余数;
Select mod(8,3);
四、日期函数
sysdate()或者now()
返回当前系统时间,格式为YYYY-MM-DD hh-mm-ss;
例
查看当前时间;
1.Select sysdate();
2.Select now();
Curdate()
返回系统当前日期,不返回时间;
例
查看当前日期,不需要时间;
Select curdate();
Curtime()
返回系统当前时间,不返回日期;
例
查看当前时间,不需要日期;
Select curtime();
Dayofmonth(date)
计算date是当月份的第几天;
例
查看今天是本月的第几天;
Select dayofmonth(sysdate());
Dayofweeek(date)
计算date是星期几,1为周日,2为周一以此类推;
例
查看今天是星期几;
Select dayofweek(sysdate());
Dayofyest(date)
计算date是当年的第几天;
例
查看今天是本年的第几天;
Select dayofyear(sysdate());
Dayname(date)
返回date为星期几;
例
今天是星期几,显示星期数的名称;
Select dayname(sysdate());
Last_day(date)
返回日期当月的最后一天;
例
返回本月的最后一天;
Select last_day(sysdate());