数据库计算时间差的三种函数和方法实例代码
1、SQL Server —— DATEDIFF()函数用法
1、作用:计算两个日期之间的时间间隔。
2、语法:
DATEDIFF(datepart,startdate,enddate)
3、参数:
datepart:设置想要什么格式的时间差
datepart参数值 | 对应代表意思 |
---|---|
yyyy、yy、year | 年 |
qq、q、quarter | 季度 |
mm、m、month | 月 |
dd、d、dw、w、day | 日 |
ww、wk、week | 周 |
hh、hour | 小时 |
mi、n、minute | 分钟 |
ss、s、second | 秒 |
ms、millisecond | 毫秒 |
mcs | 微妙 |
ns | 纳秒 |
startdate:开始时间
enddate:结束时间
4、例子:
SELECT DATEDIFF(dd, '2023-09-01', '2023-10-01') AS day; --输出结果30,表示:相差30天
2、mySQL —— DATEDIFF()函数用法
1、作用:计算两个日期之间的时间间隔,以日为单位。
2、语法:
DATEPART(startdate,enddate)
3、参数:
startdate:开始时间
enddate:结束时间
4、例子:
SELECT DATEDIFF('2023-09-01', '2023-10-01') AS day; --输出结果30,表示:相差30天
3、Oracle —— 计算时间差函数
1、作用:计算两个日期之间的时间间隔。
2、语法:
计算相差年数:
select floor(((months_between(TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss'),TO_DATE('2001-05-20','yyyy-mm-dd hh24:mi:ss')))/12)) As year from song; --输出22,表示相差22年
计算相差月数
select floor(months_between(TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss'),TO_DATE('2023-05-20','yyyy-mm-dd hh24:mi:ss'))) As month from song; --输出5,表示:相差5个月
计算相差天数
select TO_NUMBER(TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2023-09-20','yyyy-mm-dd hh24:mi:ss')) AS day from song; --输出35,表示相差35天
计算相差小时
select TO_NUMBER((TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2023-10-26','yyyy-mm-dd hh24:mi:ss'))*24) AS hour from song; --输出24,表示相差24小时
计算相差分钟
select TO_NUMBER((TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2023-10-26','yyyy-mm-dd hh24:mi:ss'))*24*60) AS minute from song; --输出1440,表示相差1440分钟
计算相差秒数
select TO_NUMBER((TO_DATE('2023-10-25','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2023-10-26','yyyy-mm-dd hh24:mi:ss'))*24*60*60) AS second from song; --输出864000,表示相差864000秒
总结
到此这篇关于数据库计算时间差的三种函数和方法的文章就介绍到这了,更多相关数据库计算时间差函数和方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Sql Server中存储过程中输入和输出参数(简单实例 一看就懂)
Sql Server中存储过程中输入和输出参数(简单实例,一看就懂),方便需要的朋友2012-10-10SQL Server 复制需要有实际的服务器名称才能连接到服务器
今天在做sql Server 2005的实验的时候碰到的问题,问题描述很清楚,怀疑是我以前给计算机修改了名称而导致的.可以用select @@servername和select serverproperty ('servername')对照一下,两个的结果是否一样2012-06-06SQL Server在AlwaysOn中使用内存表的“踩坑”记录
这篇文章主要给大家介绍了关于SQL Server在AlwaysOn中使用内存表的一些"踩坑"记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习下吧。2017-09-09windows11安装sqlserver 2016数据库报错等待数据库引擎恢复句柄失败解决办法
最近安装SQL Server遇到这个问题,试过网上几乎所有办法,都安装不上,查了很久才解决,下面这篇文章主要给大家介绍了关于windows11安装SQL server数据库报错等待数据库引擎恢复句柄失败的解决办法,需要的朋友可以参考下2023-06-06
最新评论