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

Instruction SQL LIKE sur un type DateTime

Vous pouvez utiliser le DATEPART fonction pour extraire des portions de dates. Cela devrait également rendre vos requêtes plus explicites sur ce que vous cherchez à réaliser :

SELECT * FROM MyTable
where DATEPART(year,CheckDate)=2009 and
      DATEPART(month,CheckDate) between 10 and 12

(Il existe également des fonctions spécifiquement nommées, telles que MONTH et YEAR , mais je préfère DATEPART pour plus de cohérence puisqu'il peut accéder à tous les composants d'un datetime )

Vous devriez essayer d'éviter de penser à datetime s comme ayant n'importe quel type de format de chaîne. Les traiter comme des chaînes est l'une des principales sources d'erreurs que nous rencontrons.