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;
相关推荐
m0_6530313616 分钟前
PostgreSQL技术大讲堂 - 第97讲:PG数据库编码和区域(locale)答疑解惑
数据库·postgresql
会编程的林俊杰34 分钟前
MySQL中的锁有哪些
数据库·mysql
cts61836 分钟前
Milvus分布式数据库工作职责
数据库·分布式·milvus
周胡杰36 分钟前
鸿蒙加载预置数据库-关系型数据库-如何读取本地/预制数据库
数据库·华为·harmonyos·鸿蒙
布朗克16840 分钟前
java常见的jvm内存分析工具
java·jvm·数据库
胡八一1 小时前
SQLite / LiteDB 单文件数据库为何“清空表后仍占几 GB”?——原理解析与空间回收实战
jvm·数据库·sqlite
2401_831501732 小时前
Linux之Zabbix分布式监控篇(二)
数据库·分布式·zabbix
秋林辉3 小时前
Jfinal+SQLite处理 sqlite数据库执行FIND_IN_SET报错
jvm·数据库·sqlite
巴里巴气6 小时前
MongoDB复杂查询 聚合框架
数据库·mongodb