Maison >base de données >tutoriel mysql >Comment interroger correctement les dates supérieures à une valeur spécifique dans SQL Server ?

Comment interroger correctement les dates supérieures à une valeur spécifique dans SQL Server ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-27 02:19:10294parcourir

How to Correctly Query for Dates Greater Than a Specific Value in SQL Server?

Requête de dates supérieures à une valeur spécifique dans SQL Server

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn