Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Funcion getdate como parametro de una funcion de usuario

Estas en el tema de Funcion getdate como parametro de una funcion de usuario en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/05/2008, 11:54
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
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?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #2 (permalink)  
Antiguo 06/05/2008, 12:18
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 4 meses
Puntos: 5
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
__________________
Yo quiero ser el pelucón del barrio
  #3 (permalink)  
Antiguo 06/05/2008, 12:31
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Funcion getdate como parametro de una funcion de usuario

Intenta usar la funcion getdate() dentro una funcion.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #4 (permalink)  
Antiguo 06/05/2008, 13:12
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 4 meses
Puntos: 5
Re: Funcion getdate como parametro de una funcion de usuario

Cita:
Iniciado por flaviovich Ver Mensaje
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
__________________
Yo quiero ser el pelucón del barrio

Última edición por usuariobaneado; 06/05/2008 a las 13:17 Razón: Adicionar el segundo ejemplo
  #5 (permalink)  
Antiguo 07/05/2008, 14:37
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
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?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #6 (permalink)  
Antiguo 08/05/2008, 10:46
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
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?
  #7 (permalink)  
Antiguo 08/05/2008, 11:34
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
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???
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #8 (permalink)  
Antiguo 08/05/2008, 15:03
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 4 meses
Puntos: 5
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
__________________
Yo quiero ser el pelucón del barrio
  #9 (permalink)  
Antiguo 08/05/2008, 18:46
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
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
  #10 (permalink)  
Antiguo 08/05/2008, 18:47
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
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()
  #11 (permalink)  
Antiguo 09/05/2008, 09:32
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 4 meses
Puntos: 5
Re: Funcion getdate como parametro de una funcion de usuario

Tal vez yo sí puedo porque estoy con SQL Server 2005
__________________
Yo quiero ser el pelucón del barrio
  #12 (permalink)  
Antiguo 09/05/2008, 10:01
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
De acuerdo Re: Funcion getdate como parametro de una funcion de usuario

Cita:
Iniciado por iislas Ver Mensaje
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?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #13 (permalink)  
Antiguo 09/05/2008, 10:32
Avatar de usuariobaneado  
Fecha de Ingreso: diciembre-2007
Mensajes: 402
Antigüedad: 16 años, 4 meses
Puntos: 5
Re: Funcion getdate como parametro de una funcion de usuario

Serían todas las funciones del sistema... supongo.
__________________
Yo quiero ser el pelucón del barrio
  #14 (permalink)  
Antiguo 09/05/2008, 11:47
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:00.