115

2つの日時の間の日付差分を次のようにフェッチするクエリがあります:

SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())

Ex :

SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())

作成された日から1日を引く、次のようなクエリを実行する必要があります。

SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
4

9 に答える 9

135

これを試して

SELECT DATEDIFF(DAY,  DATEADD(day, -1, '2013-03-13 00:00:00.000'), GETDATE())

また

SELECT DATEDIFF(DAY,  DATEADD(day, -1, @CreatedDate), GETDATE())
于 2013-03-26T07:59:03.923 に答える
47

正確に何をしようとしているのかはわかりませんが、この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)
于 2013-06-19T20:36:35.860 に答える
39

今日の日付から1日を引くには、次のようにします。

Select DATEADD(day,-1,GETDATE())

(元の投稿は-7を使用しており、正しくありませんでした)

于 2016-04-06T19:37:03.497 に答える
31

どうやらあなたは日時からあなたが望む日数を引くことができます。

SELECT GETDATE() - 1

2016-12-25 15:24:50.403
于 2016-12-26T21:26:03.860 に答える
8

これは機能するはずです。

select DATEADD(day, -1, convert(date, GETDATE()))
于 2016-08-03T08:19:34.310 に答える
1
SELECT DATEDIFF (
    DAY, 
    DATEDIFF(DAY, @CreatedDate, -1), 
    GETDATE())
于 2013-03-26T07:57:52.680 に答える
1

これを試してみてください、これがあなたを助けるかもしれません

SELECT DATEDIFF(DAY, DATEADD(DAY,-1,'2013-03-13 00:00:00.000') , GETDATE())
于 2013-03-26T08:05:48.027 に答える
1

正直に言うと、私は次のように使用します。

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

それをする必要があります。

于 2015-10-15T09:56:12.627 に答える
-3

あなたはこれを試すことができます。

Timestamp = 2008-11-11 13:23:44.657;

SELECT DATE_SUB(OrderDate,INTERVAL 1 DAY) AS SubtractDate FROM Orders

出力:2008-11-10 13:23:44.657

私はそれがあなたの問題を解決するのに役立つことを願っています。

于 2013-03-26T08:05:57.197 に答える