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

GetDate invalida en funcion de usuario

Estas en el tema de GetDate invalida en funcion de usuario en el foro de SQL Server en Foros del Web. Hola a todos: Mi problema es como obtener la fecha actual dentro de una funcion de usuario ya que no es posible usar getdate Invalid ...
  #1 (permalink)  
Antiguo 13/10/2006, 09:26
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
GetDate invalida en funcion de usuario

Hola a todos:

Mi problema es como obtener la fecha actual dentro de una funcion de usuario ya que no es posible usar getdate

Invalid use of 'getdate' within a function.

Desde ya agradecido

Salu2
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #2 (permalink)  
Antiguo 13/10/2006, 11:26
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Podrías escribrir el codigo donde se te cae por favor, pa ver que estás haciendo mal
  #3 (permalink)  
Antiguo 19/10/2006, 13:49
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
Esta simple funcion

CREATE FUNCTION NombreFuncion (@parametro as integer) RETURNS integer
AS
BEGIN

declare @FecActual as smalldatetime

set @FecActual = getdate()

END

devuelve el error

Invalid use of 'getdate' within a function.

Hay alguna manera de obtener la fecha actual dentro de una funcion

Salu2
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #4 (permalink)  
Antiguo 19/10/2006, 14:00
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Pregunta... estas utilizando SQL Server 200? o 2005? a mi me sale otro error:

The last statement included within a function must be a return statement.

Debido a que tu función no está devolviendo ningún entero, más no hay problema en el uso de getdate()
  #5 (permalink)  
Antiguo 20/10/2006, 06:50
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
Hola Developer9:

Uso SQL Server 2000

Si, efectivamente debe ir "return @FecActual" como última sentencia antes del "END"
Prueba agregando el return para ver si te da el error

Invalid use of 'getdate' within a function.

Salu2
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #6 (permalink)  
Antiguo 20/10/2006, 06:53
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
Corrección, debe retornarse un entero

return 5, por ejemplo, o cambiar a returns smalldatetime en la primera linea

excuse me
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #7 (permalink)  
Antiguo 20/10/2006, 09:36
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Cita:
Iniciado por MCasanova Ver Mensaje
Corrección, debe retornarse un entero...


a veces pasa
  #8 (permalink)  
Antiguo 20/10/2006, 11:20
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
Ok, solo me equivoque en el mensaje

el error aún lo tengo, para mi que definitivamente no se puede usar getdate en una funcion

Invalid use of 'getdate' within a function
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #9 (permalink)  
Antiguo 20/10/2006, 11:39
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Pregunta pregunta... pusiste en el foro todo el codigo de tu función? si es así para que sirve el parámetro entero, de nada? Porqué motivo hacer una función que te devuelva un getdate()?
  #10 (permalink)  
Antiguo 20/10/2006, 12:25
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
No, si la funcion es otra; puse como ejemplo esa funcion sencilla. La cosa es que solo un procedimiento almacenado me acepta la funcion getdate()

Ejecutaste la funcion arreglando el return?

Te dio algún error?
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #11 (permalink)  
Antiguo 20/10/2006, 13:10
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
cLARO QUE si me funcionó...

mira mira

  #12 (permalink)  
Antiguo 20/10/2006, 13:51
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
Developer9

No hay caso, lo hago tal cual y naca la pirisnaca

Creo que algo me falta

Tengo SQL Server 2000
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #13 (permalink)  
Antiguo 20/10/2006, 14:08
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Poneme tu función real pa echarle un ojo.. Está rara la cosa, pero nada que no tenga solución
  #14 (permalink)  
Antiguo 07/12/2006, 11:44
 
Fecha de Ingreso: diciembre-2006
Mensajes: 1
Antigüedad: 17 años, 4 meses
Puntos: 0
De acuerdo Re: GetDate invalida en funcion de usuario

hola amigo, tengo la solución a tu problema. El día de hoy me presenté con el mismo problema y efectivamente, no se puede usar getdate() en sql server 2000, SÓLO en sql 2005.

la solución es la siguiente:


crea una vista la cual devuelva la fecha actual

ejemplo

nombre de vista: vwFechaActual

contenido: select fecha: getdate()



Después dentro de tu función manda a llamar la vista


create function [dbo].[nombrefuncion]([parámetros])
returns [valore de regreso]
as
begin
declare @Fecha as smalldatetime
set @Fecha = (select fecha from vwFechaActual)
return @Fecha

end





Espero que sea de tu utilidad


salu2
  #15 (permalink)  
Antiguo 11/12/2006, 07:37
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
De acuerdo Re: GetDate invalida en funcion de usuario

Ok Croack:

No se me había ocurrido hacerlo con una vista. Había optado por pasarle la fecha actual como parámetro a la funcion.

Lo probé y funciona

Gracias por la respuesta

Salu2

Manuel
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
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 (incluyéndote)




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