Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

WHERE Clausola per trovare tutti i record in un mese specifico

Penso che la funzione che stai cercando sia MONTH(date) . Probabilmente vorrai usare 'YEAR' anche.

Supponiamo che tu abbia una tabella denominata things assomiglia a questo:

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

E supponiamo che tu voglia eseguire per trovare tutti i record che hanno un happened_at nel mese 2009/01 (gennaio 2009). La query SQL sarebbe:

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

Che ritornerebbe:

id
---
1
3
4