SQL 实用函数

本文介绍了MySQL中的时间函数如TIMESTAMPDIFF用于计算日期间差值,ROUND用于四舍五入,IFNULL处理NULL值,MOD执行取余操作,以及DATE_FORMAT用于日期格式化。展示了如何在SQL查询中使用这些功能进行高效的数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TIMESTAMPDIFF

TIMESTAMPDIFF(时间类型, "<日期1>", "<日期2>")

这是一个关于时间计算的函数。得到的结果是日期2与日期1相差的天数(如果日期1比日期2大结果为负;如果日期1比日期2小结果为正)

可选时间类型为:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND

时间类型
时间类型是规定计算的基础单位而不是仅计算对应时间类型!!
例如 SELECT TIMESTAMPDIFF(MINUTE, “2020-01-01 12:00:00”, “2020-01-01 13:10:00”) AS d1; 得到的结果是 70, 即以分为单位计算差值

ROUND

ROUND(value, n)

四舍五入的保留value小数点后 n 位, 位数不够则补0

IFNULL

IFNULL(x,n)

接收两个参数,若x不为null,则返回x的值,若x为null,则返回n。 常用在将null转换为0的场合。

IFNULL 特殊场景效率比较
假如我们是为了进行字段大小等的比较
例如 SELECT 字段 FROM 表名 WHERE IFNULL(字段, 0) != X 其实从效率的角度来考虑 SELECT 字段 FROM 表名 WHERE 字段 IS NULL OR 字段 != X; 反而效率更高

MOD

MOD(字段, n)

字段值除以 n 取余的一种方法

IF

IF(条件, T, F)

if 条件判断语句, 当条件为真时值为 T,条件为假时值为 F

DATE_FORMAT

DATE_FORMAT(<date>, "<format>")

将合法的日期格式化为指定的格式

下面是一些常用的 format 格式符及其含义:

  • %Y:年份,例如:2023

  • %m:月份(两位数),例如:09

  • %d:日期(两位数),例如:13

  • %H:24小时制的小时数(两位数),例如:15

  • %i:分钟数(两位数),例如:30

  • %s:秒数(两位数),例如:45

  • %p:上午/下午(AM/PM)

  • %W:星期完整名称,例如:Monday

  • %M:月份完整名称,例如:September

  • %b:缩写月份名称,例如:Sep

  • %D:日期带有英语序数词后缀,例如:13th

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值