Problema con manejo de getdate() en una funcion

23/02/2005 - 17:19 por German | Informe spam
Saludos,

Tengo un problema con la funcion GetDate() al usarla en las funciones
siempre me envia el siguiente mensaje de error:

Invalid used of 'getdate()' within a function.

Aca un ejemplo:

CREATE FUNCTION FuncionDeFechas
RETURNS DateTime AS
BEGIN

return getDate()

END

El error siempre se me esta dando cada vez que trato de usar GetDate() en
mis funciones.

Les agradeceria cualquier informacion que me pudieran brindar al respecto

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
23/02/2005 - 17:41 | Informe spam
German,

Esto esta explicado en los libros en linea. No se puede usar una funcion no
deterministica (estara bien la traduccion?), propia de sql server, dentro de
una funccion definnida por el usuario. Pudes pasa el valor como parametro o
crear una vista y seleccionar desde ella dentro de la funcion.

Ejemplo:

use northwind
go

create function dbo.ufn_today (
@d datetime
)
returns datetime
as
begin
return (cast(convert(char(8), @d, 112) as datetime))
end
go

select dbo.ufn_today(getdate())
go

create view vw_getdate
as
select getdate() as colA
go

alter function dbo.ufn_today (
)
returns datetime
as
begin
return (cast(convert(char(8), (select colA from vw_getdate), 112) as
datetime))
end
go

select dbo.ufn_today()
go

drop view vw_getdate
go

drop function dbo.ufn_today
go


AMB

"German" wrote:

Saludos,

Tengo un problema con la funcion GetDate() al usarla en las funciones
siempre me envia el siguiente mensaje de error:

Invalid used of 'getdate()' within a function.

Aca un ejemplo:

CREATE FUNCTION FuncionDeFechas
RETURNS DateTime AS
BEGIN

return getDate()

END

El error siempre se me esta dando cada vez que trato de usar GetDate() en
mis funciones.

Les agradeceria cualquier informacion que me pudieran brindar al respecto

Respuesta Responder a este mensaje
#2 Isaías
23/02/2005 - 18:12 | Informe spam
Alejandro tiene razon, NO puedes utilizar en una UDF la
funcion GETDATE(), pero puedes resolverlo, pasandolo como
un parametro mas.

CREATE FUNCTION fn_MyFuncion (@MyFecha DATETIME..


SELECT dbo.fn_MyFuncion(getdate(),..
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida