當前位置:首頁 » 編程語言 » 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天。