Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Clause WHERE pour trouver tous les enregistrements d'un mois spécifique

Je pense que la fonction que vous recherchez est MONTH(date) . Vous voudrez probablement utiliser 'YEAR' aussi.

Supposons que vous ayez une table nommée things qui ressemble à ceci :

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

Et disons que vous voulez exécuter pour trouver tous les enregistrements qui ont un happened_at au cours du mois 2009/01 (janvier 2009). La requête SQL serait :

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

Ce qui renverrait :

id
---
1
3
4