web-dev-qa-db-ja.com

SQL Server:2つの日付間の合計日数を取得する

2日間の合計日数を取得しようとしています。

1/1/2011
3/1/2011

RETURN
62

SQL Serverで行うことは可能ですか?

128
Pod Mays

PRINT DATEDIFF(DAY, '1/1/2011', '3/1/2011')はあなたが何をしているのかを教えてくれます。

これは、午前0時の境界が2つの日付の間で交差する回数を示します。両方の日付をカウントに含める場合は、これに1を加算する必要があります。どちらの日付も含めたくない場合は、1を減算します。

256
Will A

SQL Server DateDiff

DECLARE @startdate datetime2 = '2007-05-05 12:10:09.3312722';
DECLARE @enddate datetime2 = '2009-05-04 12:10:09.3312722'; 
SELECT DATEDIFF(day, @startdate, @enddate);
36
Khepri

DateDiff を参照してください。

DECLARE @startdate date = '2011/1/1'
DECLARE @enddate date = '2011/3/1'
SELECT DATEDIFF(day, @startdate, @enddate)
15
Mitch Wheat

これを試すことができます MSDNリンク

DATEDIFF ( datepart , startdate , enddate )
SELECT DATEDIFF(DAY, '1/1/2011', '3/1/2011')
14
jams

他の日付フォーマット

select datediff(day,'20110101','20110301')
10
cakiran
SELECT DATEDIFF(day, '2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
4
VMAtm

あなたが同じことをしたい場合は、ストアの手続きそれからあなたは以下のコードを適用する必要があります。

select  (datediff(dd,'+CHAR(39)+ convert(varchar(10),@FromDate  ,101)+ 
 CHAR(39)+','+CHAR(39)+ convert(varchar(10),@ToDate  ,101) + CHAR(39) +')) 
 Daysdiff

ここで、@ fromdateと@todateはSPのパラメータです。

0
Bha15