Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/01/2007, 06:37
netsistemas
 
Fecha de Ingreso: enero-2007
Mensajes: 27
Antigüedad: 18 años
Puntos: 0
Re: Validar si un dato tipo varchar se puede convertir a datetime

Yo me crearia una función en Sql Server que me diga si el campo es tipo fecha.
Esta funcion devuelve un tipo Fecha en función de un String.
Manipulandola un poco podras conseguir lo que necesitas.

Una vez tengas la funcion hecha la usas en tus SQL's
Select ..... case when EsFecha(Campo) Then Campo else '' End .....

CREATE FUNCTION dbo.CDATE ( @FECHA nVarChar(10))
RETURNS SMALLDATETIME AS
BEGIN
DECLARE @TMPDate SMALLDATETIME, @UNCHAR NVARCHAR(1)
SET @UNCHAR=SUBSTRING(@FECHA,5,1)
IF (@UNCHAR='-' OR @UNCHAR='/')
SET @FECHA=DBO.DATEE(@FECHA,' ')

IF(@FECHA<>'' AND @FECHA <> '____-_-__' AND LEN(LTRIM(@FECHA))=10)
BEGIN
SET @TMPDate = Cast(@FECHA AS SMALLDATETIME)
--set @tmpdate = @fecha --'2004-12-12'
End
Else
SET @TMPDate = Cast('01-01-1900' AS SMALLDATETIME)
RETURN @TMPDate
END