Cita:
Empezado por Al González
Gracias beginner01, juraría que no me aceptó algo así hace tiempo cuando tuve oportunidad de manejar MS-SQL.
Me salta la duda de si no estará convirtiendo lo que devuelve GETDATE() a cadena. Es decir, ¿realmente está haciendo una comparación de fechas o más bien es una comparación de cadenas de caracteres?
|
Saludos.
Para comprobarlo ya que no aparece o no encontré suficiente documentación sobre esto realicé una prueba para ver el que ocurre
y al hacer algo como esto.
Código SQL
[-]Select 'Test'
Where GETDATE()
> '2012-10-14T25:04:50'
Colocando la hora en un formato incorrecto (14T
25:04:50) devuelve este error "
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value." con lo cual me queda claro que
SQL Server convierte la fecha literal a
datetime para luego hacer la comparación.
Las pruebas fueron realizadas en SQL Server 2000 y 2008.