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;
相关推荐
麦壳饼2 分钟前
INSERT INTO:向时序表写入数据
数据库·sonnetdb
七夜zippoe10 分钟前
多 Agent 协作架构:Supervisor 模式——主管 Agent 调度实战
数据库·ai·架构·agent
我不会起名字32232 分钟前
Redis 缓存与数据库一致性:先删缓存还是先更新库的 4 种方案
数据库·redis·缓存·一致性·延迟双删
for_ever_love__39 分钟前
MySQL 锁与死锁讲透:行锁、间隙锁、Next-Key Lock 与排查方法
mysql·lock·行锁·死锁·间隙锁·排查·next-key
在繁华处39 分钟前
1.2 Harness 工程:模型之外的竞争
数据库
云贝贝贝40 分钟前
【无标题】TDSQL 分片键怎么选?选错等于数据倾斜加跨分片慢查询
运维·服务器·数据库·腾讯云
IvorySQL41 分钟前
VACUUM FULL 之后 ROWID 就废了? IvorySQL 兼容性实测
数据库·人工智能·ai·postgresql·开源
A.说学逗唱的Coke1 小时前
【人工智能专题】PolarDB 深度解析:存算分离到 AI Lakebase,云原生数据库的架构演进与实战指南
数据库·人工智能·云原生
我不会起名字3221 小时前
InnoDB 间隙锁与死锁:两个 UPDATE 互相等待的 3 个原因
数据库·mysql·事务·innodb·锁
ClickHouseDB1 小时前
ClickHouse Terraform Provider 正式支持 ClickStack 资源管理
网络·数据库·python