sql >> データベース >  >> RDS >> Sqlserver

前月のデータを取得するためのSQL

    私はSQLの専門家ではありませんが、これを試してください:

    SELECT [Circuit Number]
    ,[Request Number]
    ,[RequestDate]
    FROM Requests
    WHERE RequestType LIKE 'Cancel%'
    AND DATEDIFF(mm,Requestdate , GETDATE())=1
    AND DATEDIFF(yy,Requestdate, GETDATE())=0
    

    私のフィドルデモ をご覧ください。

    説明:

    DATEDIFF(mm,Requestdate , GETDATE())=1 (Only Request previous Month of the Current Date)
    

    次の条件:

    DATEDIFF(yy,Requestdate, GETDATE())=0 (Only in same year as Current Date)
    

    ただし、現在の日付と同じ年であるかどうかに関係なく、前月だけが必要な場合は、次のように2番目の条件を削除できます。

    SELECT [Circuit Number]
    ,[Request Number]
    ,[RequestDate]
    FROM Requests
    WHERE RequestType LIKE 'Cancel%'
    AND DATEDIFF(mm,Requestdate , GETDATE())=1
    

    デモ をご覧ください。 このため。

    たとえば、CurrentDateが2013-01-19の場合 次に、December 2012 同じ年ではなく、明らかに前月であるにもかかわらず、リクエストは含まれます。



    1. OpenShift webappsmysqljava接続

    2. SQLテーブルに複数の選択肢の値を保存するにはどうすればよいですか?テーブルはどうあるべきですか?

    3. マイクロ秒精度の日時をmysqlに挿入する方法は?

    4. 画像を使用して変数をMYSQLデータベーステーブルに保存しようとしています