Lors de la tentative d'interrogation de dates supérieures à une certaine date dans SQL Server à l'aide de l'extrait de code suivant :
SELECT * FROM dbo.March2010 A WHERE A.Date >= 2010-04-01;
vous pourriez rencontrer une erreur inattendue. En effet, la valeur de date 2010-04-01 est interprétée comme une expression mathématique par SQL Server, la convertissant effectivement en 2005. Pour résoudre ce problème, il est nécessaire de convertir la valeur de date dans un format datetime approprié à l'aide de la fonction Convert :
SELECT * FROM dbo.March2010 A WHERE A.Date >= Convert(datetime, '2010-04-01' )
Vous pouvez également placer explicitement la valeur de la date entre guillemets simples, ce qui déclencherait également le conversion :
SELECT * FROM dbo.March2010 A WHERE A.Date >= '2010-04-01'
Bien que cette dernière approche soit techniquement acceptable, elle est généralement considérée comme moins lisible et moins maintenable. En utilisant explicitement la fonction Convert, vous rendez la conversion plus évidente pour les futurs responsables.
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!