Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

WHERE-Klausel, um alle Datensätze in einem bestimmten Monat zu finden

Ich denke, die Funktion, nach der Sie suchen, ist MONTH(date) . Sie werden wahrscheinlich 'YEAR' verwenden wollen auch.

Nehmen wir an, Sie haben eine Tabelle namens things das sieht in etwa so aus:

id happend_at
-- ----------------
1  2009-01-01 12:08
2  2009-02-01 12:00
3  2009-01-12 09:40
4  2009-01-29 17:55

Angenommen, Sie möchten ausführen, um alle Datensätze zu finden, die ein happened_at haben im Monat 2009/01 (Januar 2009). Die SQL-Abfrage wäre:

SELECT id FROM things 
   WHERE MONTH(happened_at) = 1 AND YEAR(happened_at) = 2009

Was zurückgeben würde:

id
---
1
3
4