Ir para conteúdo
Fórum Script Brasil
  • 0

Convert


vitorarouca

Pergunta

Bom dia!

Eu queria converter uma string em data...

Eu estou a usar o SQL Server e estou a fazer a inserção através de uma stored procedure usando uma página asp. O código na sp é o seguinte:

 
spagenda @opcao='i', @datahora = '18-01-2005 10:18:26', @codtecnico = '03', @codcliente = 'INFORSHOW', @observacoes = 'teste' 
 
e dá-me o seguinte erro:
Error converting data type varchar to datetime.
No StoredProcedure está assim:
 
IF @opcao = 'i'
BEGIN 
      DECLARE @dataconvertida DATETIME
SELECT @dataconvertida=convert(datetime,@datahora)

INSERT INTO
 agenda
 (datahora,codtecnico,codcliente,observacoes)
VALUES
 @dataconvertida,@codtecnico,@codcliente,@observacoes)
END 

o que acontece é que ele troca os dias pelos meses...

Por exemplo o dia de hoje (17/01/2005 10:00:00) ele coloca (01/17/2005 10:00:00) e lógicamente dá erro

(10/02/2005 10:00:00) (02/10/2005 10:00:00)

Será que alguém me pode ajudar!!!

Obrigado

Vitor Arouca

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Bom dia!

Eu queria converter uma string em data...

Eu estou a usar o SQL Server e estou a fazer a inserção através de uma stored procedure usando uma página asp. O código na sp é o seguinte:

 
spagenda @opcao='i', @datahora = '18-01-2005 10:18:26', @codtecnico = '03', @codcliente = 'INFORSHOW', @observacoes = 'teste' 
 
e dá-me o seguinte erro:
Error converting data type varchar to datetime.
No StoredProcedure está assim:
 
IF @opcao = 'i'
BEGIN 
      DECLARE @dataconvertida DATETIME
SELECT @dataconvertida=convert(datetime,@datahora)

INSERT INTO
 agenda
 (datahora,codtecnico,codcliente,observacoes)
VALUES
 @dataconvertida,@codtecnico,@codcliente,@observacoes)
END 

o que acontece é que ele troca os dias pelos meses...

Por exemplo o dia de hoje (17/01/2005 10:00:00) ele coloca (01/17/2005 10:00:00) e lógicamente dá erro

(10/02/2005 10:00:00) (02/10/2005 10:00:00)

Será que alguém me pode ajudar!!!

Obrigado

Vitor Arouca

Olá vitor

faça assim:

DECLARE @dataconvertida char(10)

Até....

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Marcelo Aloysio

use a função CONVERT da seguinte forma lá no código:

CONVERT(datetime,'AAAAA-MM-DD HH:MM:SS',102).

Pode ser 102 ou 103. Vai depender das configurações do seu SQL Server.

Uma outra maneira simple é: 'AAAAMMDD' ou 'AAAA-MM-DD'

Boa sorte!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...