4.1 单行函数
函数都是数据库提前给我们准备好的,所以我们可以直接调用,使用函数可以让指定的列计算出我们需要的数据
单行函数 : 指的是操作一行数据返回一行数据,操作10行数据返回10行数据
字符串函数
-- 长度 - select ename,length(ename) from emp; -- 截取 - select ename,SUBSTR(ename,1,3) from emp; - select * from emp where substr(ename,5,1)='S'; -- 大小写 - select ename, upper(ename),lower(ename) from emp; -- 拼接 - select CONCAT(empno,'=',ename) from emp; -- 替换 - select ename,REPLACE(ename,'T','—') from emp
日期函数
-- 获取当前系统时间 - select hiredate,sysdate() from emp; - select hiredate,CURRENT_DATE(),CURRENT_TIME(),CURRENT_TIMESTAMP() from emp; -- 日期转换 - select DATE_FORMAT(sysdate(),'%Y-%m-%d %H:%i:%s') - select hiredate, date_format(now(),'%Y年%m月%d日 %H时%i分%s秒') from emp; -- 分别获取 年月日 时分秒 星期 - select - SECOND MINUTE HOUR DAY WEEK MONTH YEAR -- 日期的加减操作 - select hiredate,ADDDATE(hiredate,9),ADDDATE(hiredate,-9) from emp; - select DATE('2022-05-02');
数字函数
-- 向上取整 向下取整 - select ceil(12.1),floor(12.9) -- mod abs pow PI rand round TRUNCATE(直接进行截取,不进行四舍五入) -- 保留多少位有效数字 - select round(1.4999999,2),round(1.4999999),round(1.4999999,-1) - select TRUNCATE(1.4999999,2)
转换函数
-- 日期--》字符串 - date_format(date,expr) - select DATE_FORMAT(sysdate(),'%Y-%m-%d %H:%i:%s'); -- 字符串--》日期 - 要注意字符串和格式的匹配 - select STR_TO_DATE('2020-4-16 17:15:24','%Y-%c-%d %H:%i:%s'); - select STR_TO_DATE('5月2022年4日','%m月%Y年%d日'); -- 数字--》字符串 - 直接拼接一个字符串即可,可以自动转换 lpad,concat -- 字符串--》数字 - 依靠函数提供的参数
其他函数
-- 空值的处理 if null(exp1,exp2) exp1!=null?exp1:exp2 select IFNULL(comm,888) from emp; -- 加密算法 select MD5('123456'); select AES_ENCRYPT('123456','abcd'),AES_DECRYPT(AES_ENCRYPT('123456','abcd'),'abcd');
本文含有隐藏内容,请 开通VIP 后查看