Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   Funcion getdate como parametro de una funcion de usuario (http://www.forosdelweb.com/f87/funcion-getdate-como-parametro-funcion-usuario-583545/)

flaviovich 06/05/2008 11:54

Funcion getdate como parametro de una funcion de usuario
 
Amigos, la siguiente sentencia funciona sin problemas:
Código:

declare @hoy datetime
set @hoy = getdate()
select * from dbo.fn_reclamos_vencidos('27/02/2008', @hoy)

¿Por qué de esta forma da error sintaxis incorrecta cerca de 'getdate'?
Código:

select * from dbo.fn_reclamos_vencidos('27/02/2008', getdate())
Acaso T-SQL no acepta esa forma?

usuariobaneado 06/05/2008 12:18

Re: Funcion getdate como parametro de una funcion de usuario
 
Y como está declarada la función dbo.fn_reclamos_vencidos?


Además, por otra parte, en vez de enviarle un getdate() como parámetro, este puede ser llamado dentro de la función

flaviovich 06/05/2008 12:31

Re: Funcion getdate como parametro de una funcion de usuario
 
Intenta usar la funcion getdate() dentro una funcion.

usuariobaneado 06/05/2008 13:12

Re: Funcion getdate como parametro de una funcion de usuario
 
Cita:

Iniciado por flaviovich (Mensaje 2392773)
Intenta usar la funcion getdate() dentro una funcion.

Dios dijo dejate ayudar que te ayudaré...


Hice mi función:

Código PHP:

CREATE FUNCTION Prueba(@Fecha datetime)
RETURNS datetime 
AS 
BEGIN
    
RETURN @Fecha
END


Y luego ejecuté:

select dbo.Prueba(getdate())

Y como resultado obtuve:

2008-05-06 14:10:28.170


Tambien puedo usar el getdate() dentro de la funcion:

Código PHP:

CREATE FUNCTION Prueba()
RETURNS datetime 
AS 
BEGIN
    
declare @Fecha datetime
    set 
@Fecha getdate()
    RETURN @
Fecha
END


Y ejecuto:

select dbo.Prueba()

Sin error


Si pusieras tu código y el mensaje de error te harías un bonito favor ;-)

flaviovich 07/05/2008 14:37

Re: Funcion getdate como parametro de una funcion de usuario
 
Ejecuto tu segundo codigo y me sale:
Código:

Servidor: mensaje 443, nivel 16, estado 1, procedimiento Prueba, línea 6
Uso no válido de 'getdate' en una función.

Que puede ser?

iislas 08/05/2008 10:46

Re: Funcion getdate como parametro de una funcion de usuario
 
No puedes hacer uso de GETDATE(), dentro de una funcion y por lo visto, tampoco puedes usar GETDATE(), como un parametro, ya que el BOL indica que deben ser nombrados con una @ y datatype, una duda, ¿Que hace la funcion fn_reclamos_vencidos?

flaviovich 08/05/2008 11:34

Re: Funcion getdate como parametro de una funcion de usuario
 
Que es BOL?
Si dices que no se puede, entonces supongo que usuariobaneado realizó las pruebas en SQL Server 2005, porque en el 2000 no se puede, aparentemente.
Mi funcion muestra los reclamos vencidos. Es un SP que se ejecuta a diario.
Entonces, confirmado que no se puede poner getdate como parametro dentro de una funcion???

usuariobaneado 08/05/2008 15:03

Re: Funcion getdate como parametro de una funcion de usuario
 
Ehmmm.... olvidé mencionarlo... La usé en SQL Server 2005.

islas, por favor cuéntanos como es eso del bol



Mi mensaje 200 :-) :arriba:

iislas 08/05/2008 18:46

Re: Funcion getdate como parametro de una funcion de usuario
 
BOL = Books On Line (Libros de ayuda en linea)

http://msdn.microsoft.com/en-us/library/aa257103.aspx

iislas 08/05/2008 18:47

Re: Funcion getdate como parametro de una funcion de usuario
 
flaviovich

100% Confirmado que algunas funciones NO pueden usarse dentro de otra funcion, una de ellas, GETDATE()

usuariobaneado 09/05/2008 09:32

Re: Funcion getdate como parametro de una funcion de usuario
 
Tal vez yo sí puedo porque estoy con SQL Server 2005

flaviovich 09/05/2008 10:01

Re: Funcion getdate como parametro de una funcion de usuario
 
Cita:

Iniciado por iislas (Mensaje 2396450)
flaviovich

100% Confirmado que algunas funciones NO pueden usarse dentro de otra funcion, una de ellas, GETDATE()

Yo diria que eso era un error de SQL Server 2000 que en la 2005 ya corrigieron.
Bueno, creo que hemos aprendido alguito mas no?
Como saber que otras funciones estan en el mismo caso?

usuariobaneado 09/05/2008 10:32

Re: Funcion getdate como parametro de una funcion de usuario
 
Serían todas las funciones del sistema... supongo.

iislas 09/05/2008 11:47

Re: Funcion getdate como parametro de una funcion de usuario
 
No creo que sea un BUG, simplemente el BOL dice claramente que en funciones UDF, algunas funciones de sistema NO pueden ser utilizadas, por aquello de la recursividad a las llamadas de las mismas.


La zona horaria es GMT -6. Ahora son las 08:15.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.