私は2 datetimeの間の日付の差分を取得するためのクエリがあります:
SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())
Ex :
SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())
作成日から1日を差し引くようなクエリを実行する必要があります。
SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
これを試して
SELECT DATEDIFF(DAY, DATEADD(day, -1, '2013-03-13 00:00:00.000'), GETDATE())
OR
SELECT DATEDIFF(DAY, DATEADD(day, -1, @CreatedDate), GETDATE())
私はあなたが正確に何をしようとしているのかについては定かではありませんが、私はこのSQL関数があなたを助けると思う:
SELECT DATEADD(day,-1,'2013-04-01 16:25:00.250')
上記は2013-03-31 16:25:00.250
をあなたに与えるでしょう。
それはちょうど1日あなたを取り戻し、あらゆる標準的な日時または日付フォーマットで動作します。
このコマンドを実行して、探しているものが見つかるかどうかを確認してください。
SELECT DATEADD(day,-1,@CreatedDate)
今日の日付から単純に1日を引くには
Select DATEADD(day,-1,GETDATE())
(元の投稿は-7を使用していましたが、誤りでした)
どうやらあなたは日時からあなたが望む日数を引くことができます。
SELECT GETDATE() - 1
2016-12-25 15:24:50.403
これでうまくいくはずです。
select DATEADD(day, -1, convert(date, GETDATE()))
これを試してください、これはあなたを助けるでしょう
SELECT DATEDIFF(DAY, DATEADD(DAY,-1,'2013-03-13 00:00:00.000') , GETDATE())
正直言って私はただ使用します:
select convert(nvarchar(max), GETDATE(), 112)
これはYYYYMMDD
とそれからマイナス1を与えます。
もっと正確に
select convert(nvarchar(max), GETDATE(), 112) - 1
昨日の日付のために。
Getdate()
をあなたの値OrderDate
に置き換えます
select convert(nvarchar (max),OrderDate,112)-1 AS SubtractDate FROM Orders
それをするべきです。
SELECT DATEDIFF (
DAY,
DATEDIFF(DAY, @CreatedDate, -1),
GETDATE())