Comparaison de dates dans SQL Server : requête de dates supérieures à celles spécifiées
Dans SQL Server, les requêtes impliquent souvent de comparer des dates pour filtrer et récupérer des dates spécifiques. données. Lorsque vous tentez d'interroger des dates supérieures à une date particulière, il est essentiel de gérer correctement les formats de date.
Considérez la requête suivante :
SELECT * FROM dbo.March2010 A WHERE A.Date >= 2010-04-01;
où A.Date est représenté au format ' 04/03/2010 00:00:00.000'. Cependant, cette requête peut ne pas renvoyer les résultats attendus.
La raison de ce problème réside dans l'interprétation de l'expression 2010-04-01. Dans SQL Server, les calculs mathématiques sont effectués sur les valeurs de date lorsqu'elles ne sont pas placées entre guillemets simples. La soustraction de 4 et 1 de 2010 donne 2005, ce qui n'est pas la valeur de comparaison prévue.
Pour résoudre ce problème, l'expression doit être explicitement convertie en un type de données datetime à l'aide de la fonction Convert. La requête corrigée est :
select * from dbo.March2010 A where A.Date >= Convert(datetime, '2010-04-01' )
Maintenant, la requête comparera correctement les dates et renverra les enregistrements où la valeur A.Date est supérieure ou égale à « 2010-04-01 ».
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!