sql >> Base de Datos >  >> RDS >> Sqlserver

Cláusula WHERE para encontrar todos los registros en un mes específico

Creo que la función que está buscando es MONTH(date) . Probablemente querrá usar 'YEAR' también.

Supongamos que tiene una tabla llamada things que se parece a esto:

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

Y supongamos que desea ejecutar para encontrar todos los registros que tienen un happened_at durante el mes 2009/01 (enero de 2009). La consulta SQL sería:

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

Que devolvería:

id
---
1
3
4