/*
数学函数
*/
USE myemployees;
#1、round 四舍五入
SELECT ROUND(-1.55); /* -2 */
SELECT ROUND(1.567,2); /*保留两位小数 1.57*/
#2、ceil 向上取整,返回>=该参数的最小整数
SELECT CEIL(-1.02); /* -1 */
#3、floor 向下取整,返回<=该参数的最大整数
SELECT FLOOR(9.99); /* 9 */
#4、turncate 截断,截取相应位数的数,不进行四舍五入
SELECT TRUNCATE(1.699999,2) /* 1.69 */
#5、mod 取余
SELECT MOD(10,-3); /* 结果取决于被除数的符号,结果为1 */
/*
日期函数
*/
#1、now 返回当前系统时间+日期
SELECT NOW();
#2、curdate 返回当前系统日期
SELECT CURDATE();
#3、curtime 返回当前系统时间
SELECT CURTIME();
#4、获取指定的部分:年、月、日、小时、分钟、秒
SELECT YEAR(NOW()) 年; /*2022*/
SELECT YEAR('1998-1-5') AS 年; /*1998*/
SELECT MONTH(NOW()) 月; /*3*/
SELECT MONTHNAME(NOW()) 月; /*March*/
#5、str_to_date 将字符按照指定格式转换成日期
/*
%Y --> 四位数的年份
%y --> 两位数的年份
%m --> 月份(01、02...11、12)
%c --> 月份(1、2...11、12)
%d --> 日期
%H --> 小时(24小时)
%h --> 小时(12小时)
%i --> 分钟(00、01...59)
%s --> 秒(00、01...59)
*/
SELECT STR_TO_DATE('9-13,2008','%m-%d,%Y'); /*2008-09-13*/
SELECT STR_TO_DATE('9-13-2008','%m-%d-%Y'); /*2008-09-13*/
/*查询入职时间为1992-4-3的员工信息*/
SELECT *
FROM employees
WHERE hiredate=STR_TO_DATE('4/3/1992','%m/%d/%Y');
#6、date_format 将日期转换成字符
SELECT DATE_FORMAT(NOW(),'%Y/%m/%d'); /* 2022/03/24 */
/*案例:查询有奖金的员工名和入职日期(xx月/xx日 xx年)*/
SELECT last_name,DATE_FORMAT(hiredate,'%m月/%d日 %Y年')
FROM employees
WHERE commission_pct IS NOT NULL;
/*
其他函数
*/
SELECT VERSION(); /*数据库版本 5.5.62*/
SELECT DATABASE(); /*展示当前数据库 myemployees*/
SELECT USER(); /*当前用户 root@localhost*/
MySQL数据库——数学函数&日期函数&其他函数
最新推荐文章于 2024-06-15 21:16:13 发布