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

utiliser 'entre' avec varchar (serveur sql)

Oui, selon ce que vous entendez par comportement attendu. L'opérateur BETWEEN traitera ces opérandes comme des varchars et appliquera ses règles de comparaison en conséquence :

Maintenant, je peux voir beaucoup de problèmes potentiels, comparer des chaînes et attendre un comportement de comparaison de dates. Je n'en ai pas vu dans mes tests, mais regardez attentivement vos données. Le CONVERT renvoie-t-il l'heure de 24 heures, avec les zéros de début appropriés ?

Cette question a d'autres approches pour comparer des heures sans date, autres que de les convertir en varchars.

Surveillez également les dates nulles, ce qui entraînera le retour de la condition WHERE correspondante fausse (en fait, inconnue).

Dans votre autre question, vous avez indiqué que vous receviez une erreur. Si oui, pouvez-vous le publier ?