Tips.cl

Ocupar GETDATE en una función SQL Server 2000

Por MigueliTUX Jun.16, 2009, categoría SqlServer, Windows

Estaba haciendo una función es SQL Server 2000 y necesitaba recuperar la fecha del día, para lo cual pensé de inmediato en GETDATE(), pero sorpresa en SQL Server 2000 no se permite utilizar GETDATE en las funciones
La solución esta aquí
Lo primero que hice fue crear una vista que solo me retornara la fecha:

1
2
3
CREATE  VIEW dbo.v_fecha_actual
AS
SELECT     GETDATE() AS FechaActual

Y luego creo la función

1
2
3
4
5
6
7
8
9
10
11
12
ALTER FUNCTION fn_edad(@FECHA_NACIMIENTO DATETIME)
RETURNS INT
AS
BEGIN
RETURN(
SELECT DATEDIFF (
YEAR  ,
CONVERT(DATETIME,@FECHA_NACIMIENTO),
( SELECT  fechaactual FROM dbo.v_fecha_actual)
)
)
END

y para finalizar la llamada

1
SELECT DBO.fn_edad('1977-01-01')

Nota: tanto la creacion de la vista como la función fueron realizadas con el usuario DBO de la base, es por eso que en llamada de la función como en la función misma aparece el DBO, uds lo cambian por el usuario correspondiente

:, ,

6 comments to “Ocupar GETDATE en una función SQL Server 2000”

  1. Victor Hugo Saavedra

    esta muy wena, nunca se me hubiese ocurrido hacer algo asi :D


    Atte.
    Victor Hugo Saavedra
    http://vhspiceros.blogspot.com

  2. online-maris

    gracias a Dios por intiresny

Leave a Reply

Buscas algun tips?

Busca aquí:

contactate con nosotos contacto@tips.cl

Visita nuestras Web amigas!

Web Amigas...