Comparer DATETIME et DATE en ignorant la partie horaire
Dans SQL Server, comparer deux colonnes DATETIME2(0) qui représentent des dates peut être difficile lorsque seule la partie date (jour, mois, année) est intéressante. La partie Temps (heures, minutes, secondes) peut entraîner des écarts dans les comparaisons.
Pour résoudre ce problème, SQL Server 2008 a introduit la fonction CAST, qui permet la conversion entre différents types de données. En convertissant les colonnes DATETIME2(0) en type de données DATE à l'aide de la fonction CAST, la partie Heure est effectivement supprimée, ne laissant que la partie date à des fins de comparaison.
L'exemple suivant montre comment comparer deux enregistrements uniquement sur la base sur leurs parties Date :
IF CAST(DateField1 AS DATE) = CAST(DateField2 AS DATE)
En convertissant à la fois DateField1 et DateField2 en type de données DATE, la comparaison compare directement uniquement le jour, composantes du mois et de l’année, en ignorant les différences de temps. Cela garantit que les enregistrements ont des parties Date identiques, quelle que soit leurs parties Heure.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!