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;
相关推荐
康不坦丁8 分钟前
MySQL 的 order by 简化(使用列序号和列别名排序)
后端·mysql
IndulgeCui14 分钟前
【金仓数据库产品体验官】KingbaseES-性能优化深度体验
数据库·性能优化
+VX:Fegn089526 分钟前
计算机毕业设计|基于springboot + vue零食商城管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
雨中飘荡的记忆39 分钟前
Redis_实战指南
数据库·redis·缓存
('-')1 小时前
《从根上理解MySQL是怎样运行的》第二十五章笔记
数据库·笔记·mysql
尽兴-1 小时前
问题记录:数据库字段 `CHAR(n)` 导致前端返回值带空格的排查与修复
前端·数据库·mysql·oracle·达梦·varchar·char
Cat God 0071 小时前
MySQL-查漏补缺版(六:MySQL-优化)
android·数据库·mysql
超龄超能程序猿1 小时前
提升文本转SQL(Text-to-SQL)精准度的实践指南
数据库·人工智能·sql
曹牧2 小时前
‌‌Oracle CASE WHEN‌
数据库·oracle
x***13392 小时前
【Mysql】:如何恢复误删的数据?
数据库·mysql