日期和时间函数datediff和timestampdiff的区别

日期和时间函数

datediff

datediff(日期1,日期2):

得到的结果,返回值是日期1和日期2相差的天数(日期1 - 日期2)。

select datediff('2024-01-24','2024-01-23') as datediff1,
 datediff('2024-01-23','2024-01-24') as datediff2;

结果datediff1 是 1,datediff2是 -1。

为什么有的datediff是两个参数,有的是三个参数。

MySQL中的datediff(日期1,日期2),MS SQL Server中的datediff(datepart,日期1,日期2)

MySQL和MS SQL Server都是关系型数据库管理系统。

区别:

MySQL是开源的,免费的数据库软件,支持多种操作系统。

MS SQL Server(Microsoft SQL Server)是微软的,适用企业级开发,仅支持Windows;有完善的安全机制,包括用户验证、数据加密等,更安全。

SQL是一种标准化的关系型数据库语言。MS SQL Server和MySQL都支持SQL语言。

区别:

  1. MySQL中的是两个参数,SQL Server中的是三个参数
  2. MySQL中的返回值是 前 - 后,SQL Server中的返回值是 后 - 前。

timestampdiff

timestampdiff(时间类型,日期1,日期2):

得到的结果,返回值是日期2和日期1相差的时间时间类型(日期2 - 日期1)。

时间类型可以是:microsecond,second,minute,hour,day,week,month,year。

返回的结果会根据设置的时间类型来返回。

计算相差天数:

select timestampdiff(day,'2024-01-24','2024-01-23') as timestampdiff1, 
timestampdiff(day,'2024-01-23','2024-01-24') as timestampdiff2;

结果 timestampdiff1 是 -1,timestampdiff2 是 1。

计算相差时间:

select timestampdiff(second,'2024-01-24 12:00:00','2024-01-24 12:00:12') as timestampdiff1, 
timestampdiff(second,'2024-01-24 12:00:12','2024-01-24 12:00:00') as timestampdiff2;

结果 timestampdiff1 是 12,timestampdiff2 是 -12。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值