sql >> Databáze >  >> RDS >> Sqlserver

SQL pro získávání dat libovolný předchozí měsíc

Nejsem odborník na SQL, ale zkuste toto:

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

Podívejte se na mé Ukázka houslí

Vysvětlení:

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

Další podmínka:

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

Pokud však chcete pouze předchozí měsíc bez ohledu na to, zda je to stejný rok jako aktuální datum nebo ne, můžete odstranit druhou podmínku, například:

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

Podívejte se na ukázku za to.

Pokud je například aktuální datum 2013-01-19 poté jakýkoli December 2012 požadavek bude zahrnut i přesto, že není ze stejného roku, ale je zjevně z předchozího měsíce.



  1. mysql Nepodařilo se přečíst hodnotu automatického přírůstku z úložiště

  2. Načtěte data z CSV do bitového pole v mysql

  3. MySQL GROUP Podle počtu

  4. Je v mém dotazu na spojení tabulky nějaký špatný kód?