
31/01/2007, 06:37
|
| | 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 |