DQL中的函数-单行函数

发布于:2022-10-27 ⋅ 阅读:(729) ⋅ 点赞:(0)

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 后查看