SQL Server - Problema con fechas

 
Vista:

Problema con fechas

Publicado por eljhonb (124 intervenciones) el 06/06/2007 22:57:35
tengo la siguiente situación:
Necesito validar si un string tiene un formato de fecha válido antes de tratar de hacer algunas operaciones de tipo datetime.
Me explico mejor... en una tabla, hay un campo tipo varchar que guarda un string que representa una fecha. el problema es que en ocasiones este string no corresponde a una fecha válida, como por ejemplo 20070230. Con este campo luego realizo cálculos como datediff o dateadd, lo que me genera un error de este valor se sale del rango de valores de datetime.

Cómo validar que es un valor válido, antes de tratar de hacer la operación y evitar así el error?
Vale la pena decir que la tabla se carga desde un archivo plano y que no se pueden hacer las validaciones en la capa de lógica del negocio, pues es una aplicación externa la que captura los datos y genera el archivo plano.

Espero haberme hecho entender,

Muchas 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

RE:Problema con fechas

Publicado por Isaias (3308 intervenciones) el 07/06/2007 20:29:47
Si es un archivo externo, el cual estas cargando a una tabla de SQL Server, podrias pasarlo por un archivo de paso y sacar todos aquellos registros en los cuales la fecha sea incorrecta, para dejar en la tabla, solo aquellos que cumplan con el formato DATETIME.

select isdate('20070230') -- 0 = invalido, 1=valido
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

RE:Problema con fechas

Publicado por eljhonb (124 intervenciones) el 07/06/2007 20:46:00
Molto Grazie!
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

RE:Problema con fechas

Publicado por Isaías (3308 intervenciones) el 08/06/2007 00:12:42
De nada compañero(a).
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