MySQL的其他函数

数学函数:

1.round 四舍五入

sql 复制代码
select round(1.45);//不管正负数,先将绝对值round,然后加正负号
select round(1.567,2); //表示小数点保留2位

2.ceil 向上取整

sql 复制代码
select ceil(-1.3);

3.floor 向下取整

4.truncate 截断

sql 复制代码
select truncate(1.65,1); // 结果保留小数1位:1.6

5.mod 取余

sql 复制代码
select mod(10,3); java中的mod一样: mod(a,b)====a-a/b*b(计算机中整数除以整数的结果还是整数),结论被除数是正,结果就是正,被除数是负结果就是负数

日期函数:

1.now 用户返回当前日期时间

sql 复制代码
select now();

2.curdate 返回当前系统日期,没有时间部分

3.curtime 返回当前系统时间,没有日期部分

4.可以单独获取年/月/日

sql 复制代码
select year(now()); 取得年
select year('2004-1-1') ;

select month(now()); 取得月
select monthname(now()); 取得月名..day hour minute second一样

date_format:将日期换换成字符串,或者理解为格式化日期
date_format(now(),'%y-%m-%d');

案例:查询入职日期是1992-4-3的员工信息

sql 复制代码
select * from employees where hiredate='1992-4-3'; //能找到
select * from employees where hiredate=STR_TO_DATE('1992 4 3','%Y %m %d');

str_to_date:将日期格式的字符转换层指定格式的日期
str_to_date('2018-1-12','%y-%m-%d'); // 这个函数不会给我返回值,用在where条件里!

系统函数:

1.select version();

//查看mysql版本

2.select datebase();

//查看当前使用的数据库

3.select user();

//查看当前用户

流程控制函数:

1.if函数

sql 复制代码
select if(10>1,'大','小');

2.case函数

sql 复制代码
case 要判断的子段或表达式
when case的结果是常量1 then 要显示的值1(或语句1;)
when case的结果是常量2 then 要显示的值2(或语句2;)
......
else case的结果都不前面的时候显示;
end 结束

案例:员工表中, 部门号是30,显示的工资是1.1倍,部门号是40,显示的工资是1.2倍,其他显示原工资

sql 复制代码
SELECT salary AS 原工资,department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 50 THEN salary*1.2
ELSE salary
END AS 新工资
FROM employees;
相关推荐
这个DBA有点耶8 分钟前
信创场景下数据同步软件怎么选?对比开源CDC与原生闭环工具的结构性差异
数据库·mysql·架构
多客:duokelijie42 分钟前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
PingCAP43 分钟前
平凯星辰上榜!2026 年胡润全球独角兽企业
数据库
PingCAP1 小时前
轨道交通 AFC 系统升级,平凯 Loop 把跨部门协同变成可追溯闭环
数据库
java_logo2 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
李白客3 小时前
AI 数据库落地 NL2SQL:准确率卡在四成,问题在表注释不在模型
数据库
FluxDB3 小时前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
杨航 AI4 小时前
JEV的用法
java·前端·数据库
数据库小学妹4 小时前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba
风翼靓崽4 小时前
mysql数据备份/恢复
数据库·mysql