Ir para conteúdo

Arquivado

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

Nothunt

Conversão de String para datetime

Recommended Posts

Meus caros,qual a sintaxe que devo utilizar para converter uma string em datetime atrvés da função convert ?sem mais um abraço de Portugal :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

função convert

--definindo a configuração de data em dmy (Dia/Mes/Ano)set dateformat dmy--variavel do tipo string armazenando uma datadeclare @strData varchar(10)--valor de data para a variavel stringset @strData = '04/03/2007'--variavel do tipo datetime declare @datData datetime--conversao de data de variavel string para variavel dateset @datData = convert(datetime,@strData)--consulta das variaveisselect @datData as datData, @strData as strData
um abraço do Brasil

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro eriva_br,

 

tentei inserir o codigo que me exemplificaste neste procedimento:

 

-- Este Procedimento foi criado tendo em conta a inserção-- de dados na tabela DEPARTAMENTOS-- Linguagem : T-sQL-- Autor: Noémio Dória (Nothunt)-- Data: Março de 2006CREATE PROCEDURE dbo.INSERE_DEPARTAMENTO(  @IDDEPARTAMENTO		   NUMERIC(4,0),  @INSINIDULIZADOR		  NUMERIC(4,0),  @IDMOTIVO				 NUMERIC(18,0),  @DESDEPARTAMENTO		  VARCHAR(30),  @DINIDEPART			   VARCHAR,  @DUALTDEPART			  VARCHAR,  @DFIMDEPART			   VARCHAR,  @OBSDEPARTAMENTO		  VARCHAR(500),  @ERRORNUMBER			  NUMERIC(18,0) OUTPUT,  @ERRORSEVERITY			VARCHAR(100)  OUTPUT,  @ERRORSTATE			   VARCHAR(100)  OUTPUT,  @ERRORPROCEDURE		   VARCHAR(100)  OUTPUT,  @ERRORLINE				VARCHAR(100)  OUTPUT,  @ERRORMESSAGE			 VARCHAR(100)  OUTPUT)ASBEGIN	 BEGIN TRY				   DECLARE		@DINIDEPARTAMENTO		 DATETIME				   DECLARE		@DUALTDEPARTAMENTO		DATETIME				   DECLARE		@DFIMDEPARTAMENTO		 DATETIME				   SET DATEFORMAT DMY				   SET @DINIDEPARTAMENTO = CONVERT(DATETIME ,@DINIDEPART)				   SET @DUALTDEPARTAMENTO = CONVERT(DATETIME ,@DUALTDEPART)				   SET @DFIMDEPARTAMENTO = CONVERT(DATETIME ,@DFIMDEPART)				   				   INSERT INTO						  dbo.DEPARTAMENTOS(											ID_DEPARTAMENTO,											ID_UTILIZADOR,											ID_MOTIVO,											NOME_DEPARTAMENTO,											DATA_INICIO_DEPARTAMENTO,											DATA_U_ALTERACAO_DEPARTAMENTO,											DATA_FIM_DEPARTAMENTO,											OBS_DEPARTAMENTO)				   VALUES(						  @IDDEPARTAMENTO,						  @INSINIDULIZADOR,						  @IDMOTIVO,						  @DESDEPARTAMENTO ,						  @DINIDEPARTAMENTO,						  @DUALTDEPARTAMENTO,						  @DFIMDEPARTAMENTO,						  @OBSDEPARTAMENTO)	 END TRY	 BEGIN CATCH	 SELECT		@ERRORNUMBER = ERROR_NUMBER(),		@ERRORSEVERITY = ERROR_SEVERITY(),		@ERRORSTATE  = ERROR_STATE(),		@ERRORPROCEDURE = ERROR_PROCEDURE(),		@ERRORLINE = ERROR_LINE(),		@ERRORMESSAGE = ERROR_MESSAGE()	 END CATCH;END

mas não tive resultados.

 

O que estou a fazer mal??

 

sem mais, um abraço de Portugal

Compartilhar este post


Link para o post
Compartilhar em outros sites

falai ai manu de portugal beleza

 

tenta definir as variaveis de data como varchar(30)

@DINIDEPART			   VARCHAR(30),  @DUALTDEPART			  VARCHAR(30),  @DFIMDEPART			   VARCHAR(30),

 

se naum der certo mesmo assim, posta o erro que ocorreu?

 

e tb. posta quais valores tu ta passando para as variaveis supra-citadas:

@DINIDEPART

@DUALTDEPART

@DFIMDEPART

 

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente também

Convert(varchar(10), @variável, 103)

 

Caso ajude... ótimo!

[]tz ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá novamente, pessoal!

 

mto obrigado, assim consigo fazer correr o SP (Stored Procedure) http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif . Contudo tenho um outro problema. Não consigo com que funcione a sua chamada em JSP. O Sistema não devolve erro, mas nenhum dos dados é inserido.

 

podem ajudar-me? :rolleyes:

 

um abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o Profiler do seu SQL Server... ele fará todo o "trace" da sua transação com o banco e mostrará os comandos efetuados, se não mostrar nada é porque a chamada do programa nem chegou a acontecer, deu erro antes... entende?

 

[]tz ;)

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.