Array
(
)

Trabalhar GETDATE()

Cristiano Alves
   - 10 jul 2006

Pessoal estou criando uma função, e dentro dela estou tentando atribuir a data atual a uma variável estou fazendo o seguinte:

DECLARE @DATA_ATUAL DATETIME

SET @DATA_ATUAL = GETDATE() /* Não funciona !*/

SELECT @DATA_ATUAL = GETDATE() /* TMB não funciona !*/

Das duas formas ocorre Invalid use of ´getdate´ within a function.
O que está errado? :oops:

Como posso fazer para pegar a dada atual dentro de uma função?
[]s

Bon Jovi
   - 13 jul 2006

#Código

DECLARE @DATA_ATUAL DATETIME
SET @DATA_ATUAL = GETDATE()
SELECT @DATA_ATUAL


Cristiano Alves
   - 14 jul 2006


Citação:
#Código

DECLARE @DATA_ATUAL DATETIME
SET @DATA_ATUAL = GETDATE()
SELECT @DATA_ATUAL


Então Bon Jovi, Obeigado pela resposta mas como eu disse
já havia tentado isso...mas não funciona dentro de uma função.

[]s

Bon Jovi
   - 15 jul 2006

Entao coloque aí um exemplo completo de uma funcao sem ta funcionando.

Nigro
   - 17 mar 2008

Eui tentei fazer a mesma coisa...
Como meu sistema é multi-banco preciso de criar uma função com o mesmo nome em todos os bancos.

IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = ´BR_CURRENT_DATE´)
DROP FUNCTION BR_CURRENT_DATE
GO

IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = ´BR_GETDATE´)
DROP PROCEDURE BR_GETDATE
GO

CREATE PROCEDURE BR_GETDATE(@DATAATUAL DATETIME OUTPUT) AS
BEGIN
SET @DATAATUAL = GETDATE()
END
GO

CREATE FUNCTION BR_CURRENT_DATE() RETURNS DATETIME
BEGIN
DECLARE @HOJE DATETIME
EXEC DBO.BR_GETDATE @HOJE
RETURN @HOJE
END
GO