sql計算兩個日期之間的天數
❶ 利用sql語句如何獲得兩個日期之間相差的天數
用sysdate假設結束日期欄位是end_date
添加這個判斷條件:
where to_char("end_date",'YYYY') = to_char(sysdate,'YYYY') 判斷年相同
and to_char("end_date",'MM') = to_char(sysdate,'MM') 判斷月相同
and to_char("end_date",'dd') - to_char(sysdate,'dd') = 15 判斷日相同
或者:
where to_char("end_date",'YYYY-MM-DD') - to_char(sysdate,'YYYY-MM-DD')=15
(1)sql計算兩個日期之間的天數擴展閱讀:
注意事項
DATEDIFF返回跨兩個指定日期的日期和時間邊界數。
語法:DATEDIFF ( datepart , startdate , enddate )
參數:datepart
是規定了應在日期的哪一部分計算差額的參數。下表列出了 Microsoft® SQL Server™ 識別的日期部分和縮寫。
startdate是返回datetime或smalldatetime值或日期格式字元串的表達式。 因為smalldatetime只精確到分鍾,所以當用smalldatetime值時,秒和毫秒總是 0。
如果只指定年份的最後兩位數字,則小於或等於"兩位數年份截止期"配置選項的值的最後兩位數字的數字所在世紀與截止年所在世紀相同。大於該選項的值的最後兩位數字的數字所在世紀為截止年所在世紀的前一個世紀。例如,如果 two digit year cutoff 為 2049(默認),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數的年份。
有關時間值指定的更多信息,請參見時間格式。有關日期指定的更多信息,請參見 datetime 和 smalldatetime。
enddate是計算的終止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字元串的表達式。
返回類型:integer
注釋:startdate 是從 enddate 減去。如果 startdate 比 enddate 晚,返回負值。當結果超出整數值范圍,DATEDIFF 產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鍾零 23.647 秒。對於秒,最大數是 68 年。
❷ SQL 資料庫如何計算兩個日期的簡隔時間,以下圖為例!
select datediff(day,『2010-12-1』,『2010-12-3』)
返回的結果是 2
當然你也可以從表中選擇出來的兩個的欄位,
SELECT datediff(day,date1,date2) FROM date_db.date_table
返回的是 date2-date1 之間的天數
上面是計算的是在資料庫date_db中表date_table中時間時段date1與date2之間的相隔天數
❸ sql語句中可以查詢兩個日期之間的天數么
select datediff('2009-1-1', '2008-1-1');
用datediff函數,第一個參數是截止時間,第二個參數是起始時間
不好意思,剛才的是mysql,剛看了下sql的文檔發現有點區別- -,sql的話,用下面的形式:
DATEDIFF ( datepart , startdate , enddate )
所以你要求2個日期之間間隔的天數,這樣寫:
datediff( dd, '2008/1/1', '2009/1/2' )
這里的dd表示計算天數差
❹ 在Sql語句中怎樣計算出兩個日期的差值
sql語句中計算兩個日期的差值用datediff函數。
工具:sqlserver 2008 R2
步驟:
1、計算2009-06-23與2009-06-17之間的天數。語句如下:
selectdatediff(d,'2009-06-17','2009-06-23')
2、查詢結果:
❺ sql中該如何算成倆個時間之間的天數
ORACLE的寫法:
select trunc(date1-date2) 天數 from al;
❻ sql計算時間差的datediff函數怎麼用
語法
DATEDIFF(datepart,startdate,enddate)
datepart
縮寫
年
yy,
yyyy
季度
qq,
q
月
mm,
m
年中的日
dy,
y
日
dd,
d
周
wk,
ww
星期
dw,
w
小時
hh
分鍾
mi,
n
秒
ss,
s
毫秒
ms
微妙
mcs
納秒
ns
SELECT
DATEDIFF(day,'2008-12-29','2008-12-30')
AS
DiffDate
結果
1
SELECT
DATEDIFF(day,'2008-12-30','2008-12-29')
AS
DiffDate
結果
-1
select
DATEDIFF(hh,'2013-10-12
10:25:52.400','2013-10-12
23:25:53.400')
as
'時間差'
備註:分鍾的改變不能影響計算結果
結果
13
❼ SQL中怎麼計算兩日期之間的天數
DECLARE @Date datetime
set @Date = '2010-01-01'
SELECT DATEDIFF(d,@Date,getdate())
DATEDIFF直接算天數 但你還要按小時來算 估計得自己寫自己定義函數了
❽ sql語句中可以查處要查詢的兩個日期之間的天數么
不好意思,剛才的是mysql,剛看了下sql的文檔發現有點區別-
-,sql的話,用下面的形式:
DATEDIFF
(
datepart
,
startdate
,
enddate
)
所以你要求2個日期之間間隔的天數,這樣寫:這里的dd表示計算天數差
❾ sql 怎麼計算兩個時間的天數
select datediff(part,StartDate,EndDate)
part:日期的哪一部分計算差額的參數
StartDate:開始時間
EndDate:截至時間
如:select datediff(dd,'2010-09-20','2010-09-21')
結果:1
即兩個日期相差1天;
select datediff(mm,'2010-09-20','2010-09-21')
結果:0
即兩個日期都是同月。