SQL Server - fallo en la conversion de un char a un tipo fecha

 
Vista:

fallo en la conversion de un char a un tipo fecha

Publicado por localhost (1 intervención) el 15/04/2010 13:52:19
hola a todos, estoy empezando con sql server y tengo un problema con una aplicación de una Base de Datos, tengo un proyecto adp que abro con access y se me ejecuta todo bien, pero llega un momento que tiene q convertir una fecha en un string, para compararlos dentro de una consulta, y ejecutarla, pero me da un error de tipos.

la sentencia donde me falla la ejecución es la siguiente:

Cursor.Open "SELECT * From asistencia WHERE (Nif ='" & Nif & "' AND CONVERT(DATETIME, Fecha)=CONVERT(DATETIME,'" & diavigente & "'))"

la variable diavigente toma el valor de la fecha actual del sistema correctamente y es de tipo DATE, Nif es el dni de un usuario concreto y es de tipo STRING

y el mensaje de error q me muestra es el siguiente:

Se ha producido un error en tiempo de ejecución:
The conversion of a char data type to a datatime data type resulted in an out-of-range datatime value

No se como resolver este fallo, estoy agobiado por q por más q ejecuto paso a paso el código siempre falla en el mismo punto y en principio todo está bien, es más este código ha estado funcionando bien hasta ayer, q fallo el servidor y he tenido que reinstalar el sql server 2005, no se que demonios puede ser. Si alguien tiene alguna idea y me la quiere dar, se lo agradaceré enormemente, Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:fallo en la conversion de un char a un tipo fec

Publicado por Isaias (4558 intervenciones) el 16/04/2010 23:27:00
Los valores o campos fechas (DATETIME), nunca se comparan con igual (=), por aquello de las horas, minutos, segundos.

Siempre debes utilizar formato ANSI (YYYY-MM-DD), si deseas saber si tu fecha es valida: ISDATE(Tufecha)

Si esto te da un CERO (0), es una fecha no valida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar