Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jow Xavier

Função para converter data

Recommended Posts

Galera preciso criar uma função para converter um campo varchar para datetime, e ñ faço idéia gostaria da ajuda de vcs ..

Eu começei assim ::

 

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER FUNCTION [dbo].[VARCHAR_BR_TO_DATETIME]
(
	@DATA_OR VARCHAR(20)
)
RETURNS DATETIME
AS
BEGIN

	DECLARE @DATA_OR VARCHAR(20);
	SET @DATA_OR = '28/12/1987';

	DECLARE @RETORNO DATETIME;
	DECLARE @DIA VARCHAR(2),@MES VARCHAR(2),@ANO VARCHAR(4);

	SET @DIA = LEFT(@DATA_OR,2);
	SET @MES = SUBSTRING(@DATA_OR,4,2);
	SET @ANO = RIGHT(@DATA_OR,4);

	--PRINT @DIA;
	--PRINT @MES;
	--PRINT @ANO;

	RETURN @RETORNO;

END

Pois me apresenta esse erro ::

Msg 134, Level 15, State 1, Procedure VARCHAR_BR_TO_DATETIME, Line 10

The variable name '@DATA_OR' has already been declared. Variable names must be unique within a query batch or stored procedure.

 

Alguem pode me ajudar ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Jow.

 

Qdo você cria uma funcao ou procedure, você nao precisa declarar a variavel que você passa à ela.

Comente estas linhas

DECLARE @DATA_OR VARCHAR(20);
	SET @DATA_OR = '28/12/1987';

que a sua funcao nao vai dar erro.

 

Se a sua ideia eh formatar data, de uma olhada neste topico:

http://forum.imasters.com.br/index.php?showtopic=224454

 

Sobre funcoes:

http://msdn.microsoft.com/en-us/library/aa...61(SQL.80).aspx

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.