Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Cláusula WHERE para encontrar todos os registros em um mês específico


Acho que a função que você está procurando é MONTH(date) . Você provavelmente desejará usar 'YEAR' também.

Vamos supor que você tenha uma tabela chamada things que se parece com isso:
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 digamos que você queira executar para encontrar todos os registros que tenham um happened_at durante o mês de 2009/01 (janeiro de 2009). A consulta SQL seria:
SELECT id FROM things 
   WHERE MONTH(happened_at) = 1 AND YEAR(happened_at) = 2009

Que retornaria:
id
---
1
3
4