#数学函数
#round 四舍五入
SELECT ROUND(1.65);#2
SELECT ROUND(-1.65); #-2
SELECT ROUND(1.536,2);#保留两位小数
#ceil 向上取整
SELECT CEIL(1.2);#2
SELECT CEIL(-1.2);#-1
#floor 向下取整
SELECT FLOOR(1.2);#2
#truncate 截断
SELECT TRUNCATE(1.65,1);#1.6
#mod 取余
#被除数为正结果为正,
#因为mod(a,b) 结果 a-a/b*b
SELECT MOD(10,3);#1
SELECT 10%3;#1
SELECT MOD(-10,3);#-1
#日期函数
#now 返回当前系统日期+时间
SELECT NOW();
#curdate 返回当前系统日期
SELECT CURDATE();
#curtime 返回当前的时间
SELECT CURTIME();
#获取指定的部分
SELECT YEAR(NOW())年,MONTH(NOW())月 ,DAY(NOW())日,HOUR(NOW())时, MINUTE(NOW())分,SECOND(NOW())秒;
SELECT YEAR('2000-1-1');
SELECT YEAR(hiredate) FROM employees;
SELECT MONTHNAME(NOW()); #输出英文月份
#str_to_date:将日期格式的字符转换成指定格式的日期
SELECT STR_TO_DATE('02-2001-10','%m-%Y-%d');#按照参数二的类型去解析参数一的日期类型最后返回一个日期 输出2001-02-10
#注意 %Y 大写
#查询入职日期为1992-4-3的员工信息
SELECT *
FROM employees
WHERE hiredate = STR_TO_DATE('1992 4-3','%Y %m-%d');
#date_format:将日期转换成字符
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日');#输出2022年01月01日(当前日期)
#查询有奖金的员工名和员工入职信息(xx月-xx日 xx年)
SELECT last_name,
DATE_FORMAT(hiredate,'%m月-%d日 %y年') AS 入职日期
FROM employees
WHERE commission_pct IS NOT NULL;
/*
%Y 四位的年份
%y 二位的年份
%m 月份 01 02 03.。。
%c 月份 1 2 3.。。
%d 日01 02 03.。。。
%H 小时二十四小时制
%h 小时十二小时制
%i 分钟 00 01 02.。。。
%s 秒 00 01 .。。
*/
#其他函数
#version()
#database()
SHOW DATABASES;
SELECT DATABASE();#当前库
SELECT USER();#当前用户
MySQL数学函数、日期函数、其他函数
最新推荐文章于 2023-08-09 21:58:28 发布