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
| ||||
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] |
| ||||
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() |
| ||||
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] |
| ||||
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] |
| ||||
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] |
| ||||
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()? |
| ||||
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] |
| ||||
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] |
| |||
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 |
| ||||
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] |