web-dev-qa-db-ja.com

Microsoft SQLServerで2つの日付を減算します

MS SQLServerで2つの日付を減算したい。

例:

Current date      Last used date
'2016-03-30'      '2015-02-03'

現在の日付は今日の日付を指し、「最終使用日」はメジャーです。

SQL Serverでクエリを作成するにはどうすればよいですか?

私はこれを持っていますが、機能しません(「オペランドデータ型は減算演算子に対して無効です」と表示されます)

select 
    CONVERT(DATE, GETDATE()) - CONVERT(DATE, LastUsedDate) 
from 
    databasename 
7
Shivang
SELECT     DATEDIFF(day,'2014-06-05','2014-08-05')     AS DiffDate

DiffDate61を出力します

より多くの練習は、以下のW3スクールを参照してください。

https://www.w3schools.com/sql/func_sqlserver_datediff.asp

9
Dipen Patel

ここでは、GETDATE()はすでにdatetimeデータ型であるため、日付にキャストする必要はありません。したがって、クエリは次のようになります

SELECT DATEDIFF(day,CAST(LastUsedDate as date),GETDATE()) AS DifferneceDays
FROM TableName
3
Vinay Tedla

使用する通常の関数はdatediff()です。

select datediff(day, cast('2016-02-03' as date), cast('2016-03-30' as date))

datetime値を減算できますが、日付は減算できません。悲しいかな。

2
Gordon Linoff