当前位置:首页 » 编程语言 » sql两个时间相差多久
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql两个时间相差多久

发布时间: 2023-05-30 14:30:14

⑴ 利用sql语句如何获得两个日期之间相差的天数

select TO_DATE(TO_CHAR(sysdate,'YYYYMMDD'),'YYYYMMDD') - TO_DATE(表字段,'YYYYMMDD') from 表名;

表名和表字段根据具体情况而定,

还有
date1为数据库里输入数据时的时间,date2为当前系统时间

应该是反的,date1应该是当前系统时间,date2是数据库里输入数据时的时间

⑵ SQL里求两个日期相差的年数

select(DATEDIFF(month,日期1,日期2)+0.0)/12

这样?

⑶ 在Sql语句中怎样计算出两个日期的差值

sql语句中计算两个日期的差值用datediff函数。

工具:sqlserver 2008 R2

步骤:

1、计算2009-06-23与2009-06-17之间的天数。语句如下:

selectdatediff(d,'2009-06-17','2009-06-23')

2、查询结果:

⑷ 关于SQL两个时间计算出间隔时间的问题。

declare@DMtimeint
declare@Dvarchar(10)
declare@Hvarchar(10)
declare@Mvarchar(10)
declare@Svarchar(10)
set@DMtime=DATEDIFF(SECOND,'2013-08-2016:40:23','2013-08-2416:05:05')
--获取两个时间段的秒的相差值
set@D=@DMtime/(3600*24)--天数
set@H=(@DMtime-@D*3600*24)/3600--小时
set@M=(@DMtime-@D*3600*24-@H*3600)/60--分钟
set@S=@DMtime-@D*3600*24-@H*3600-@M*60--秒
select@D+N'天
小时
分钟
秒'

效果图如下:

⑸ sql 计算两个日期相差多少年月日

如:起始时间
2011-1-1
截止日期
2011-2-1
两个时间比较相差
0年1个月
如:起始时间
2010-11-1
截止日期
2011-12-1
两个时间比较相差
1年1个月
怎么比较才能得出~
相差多少年
多少个月
这个当然很简单,
一句sql就可以了:select
ltrim(datediff(yy,@dt1,@dt2))+'年'+ltrim(datediff(mm,@dt1,@dt2)%12)+'月'
但是如果连几天也要计算呢?闲着没事自己随便在sql
server下写了写,store
proceres代码如下,应该没可以了:create
procere
getdatediff
@fromdate
nvarchar(10),
@todate
nvarchar(10)
as
declare
@yeardiff
integer
declare
@monthdiff
integer
declare
@daydiff
integer
declare
@tomonth
integer
declare
@fromday
integer
declare
@today
integer
set
@yeardiff
=
ltrim(datediff(yy,
@fromdate,
@todate))
set
@monthdiff
=
ltrim(datediff(mm,
@fromdate,
@todate)%12)
set
@tomonth
=
month(cast(@todate
as
datetime))
set
@fromday
=
day(cast(@fromdate
as
datetime))
set
@today
=
day(cast(@todate
as
datetime))
if
(@today
-
@fromday)
<
0
begin
if
(@tomonth
-
1)
=
1
or
(@tomonth
-
1)
=
3
or
(@tomonth
-
1)
=
5
or
(@tomonth
-
1)
=
7
or
(@tomonth
-
1)
=
8
or
(@tomonth
-
1)
=
10
or
(@tomonth
-
1)
=
12
begin
set
@daydiff
=
31
+
@today
-
@fromday
set
@monthdiff
=
@monthdiff
-1
end
else
begin
set
@daydiff
=
30
+
@today
-
@fromday
set
@monthdiff
=
@monthdiff
-1
end
end
else
begin
set
@daydiff
=
@today
-
@fromday
end
select
cast(@yeardiff
as
nvarchar(10))
+
'年'
+
cast(@monthdiff
as
nvarchar(10))
+
'月'
+
cast(@daydiff
as
nvarchar(10))
+
'日'

⑹ sqlserver中返回两个日期间相差几年零几月

select datediff(month,'2017-1-5','2018-05-25')/12 ,datediff(month,'2017-1-5','2018-05-25')%12
执行结果:1年4个月
注释:
datediff(month,'2017-1-5','2018-05-25')取出两个日期相差的总月数;
datediff(month,'2017-1-5','2018-05-25')/12 取出两个日期相差的总年数。
datediff(month,'2017-1-5','2018-05-25')%12 取出总年数后,剩余月数。

⑺ SQL 计算两个日期相差多少天数的函数

SQL是高级的非过程化编程语言,一般针对数据库进行操作。

定义:datediff(day/month/year,startdate,enddate)

日期函数:(要返回的天数/月数/年数,开始日期,结束日期)

具体形式:
select 1,2,datediff(day,1,2) 天数 from aa

还有一些方法:

使用DATEDIFF函数可以求两个日期之间相差的天数。

MySQL中的DATEDIFF函数仅需要两个参数 (即要计算相差天数的两个日期),第一个参数应是两个日期中较小的值,以避免出现负值(SQL Server中正好相反)。

在SQL Server中,可以指定该函数返回值所表示的类型(在这个例子中,返回以“日”为单位的差)。下面的解决方案采用了SQL Server的版本:

1 select datediff(day,allen_hd,ward_hd)

2 from (

3 select hiredate as ward_hd

4 from emp

5 where ename = 'WARD'

6 ) x,

7 (

8 select hiredate as allen_hd

9 from emp

10 where ename = 'ALLEN'

11 ) y

MySQL用户只需去掉该函数的第一个参数,交换一下传递ALLEN_HD和WARD_HD的顺序即可。

⑻ mssql计算两个日期时间间隔多少分钟

如果是求间隔的天数,但第一天不算,最后一天也不算入,则办法如下:
1.同一月份,用日期数相减再减1,如1月2日到1月4日(0:00),4-2-1=1(天),只间隔了一天(1月3日)。
2.不同月份,则算出起始日期至月底的天数,再加上剩余的月份的天数(如果是下个月则不用),再加上截止月的月初至截止日期的天数再减一,如3月2日到5月5日(0:00),31-2+30+5-1=63(天),间隔了3月3日到3月31日的29天,四月份的30天,1日到4日的4天。共63天。

如果是求求间隔的天数,但第一天不算,最后一天算入则办法如下:
1.同一月份,用日期数相减,如1月2日到1月4日,4-2=2(天),间隔了两天(1月3日和1月四号)。
2.不同月份,则算出起始日期至月底的天数,再加上剩余的月份的天数(如果是下个月则不用),再加上截止月的月初至截止日期的天数,如3月2日到5月5日,
31-2+30+5=64(天),间隔了3月3日到3月31日的29天,四月份的30天,1日到5日的5天。共64天。