Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

use 'entre' com varchar (servidor sql)


Sim, dependendo do que você entende por comportamento esperado. O operador BETWEEN tratará esses operandos como varchars e aplicará suas regras de comparação de acordo:

Agora, posso ver muitos problemas em potencial, comparando strings e esperando o comportamento de comparação de datas. Não vi nenhum em meus testes, mas observe atentamente seus dados. O CONVERT está retornando 24 horas, com os zeros à esquerda apropriados?

Esta pergunta tem algumas outras abordagens para comparar dateless-times, além de convertê-los em varchars.

Além disso, observe as datas nulas, o que fará com que a condição WHERE correspondente retorne falso (na verdade, desconhecido).

Na sua outra pergunta, você indicou que estava recebendo um erro. Se sim, pode postar isso?