日期和时间函数
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语言。
区别:
- MySQL中的是两个参数,SQL Server中的是三个参数
- 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。