none
Converter string em date RRS feed

  • Pergunta

  • Pessoal, bom dia!

    Estou fazendo um substring em um arquivo .txt e preciso converte-lo para data. No arquivo a string está 07012014 (ddmmaaa) e quero pegar essa string e converter para data (dd-mm-aaaa)

    Estou fazendo da seguinte forma; Porem ele está me retornando o valor 2014-01-07

    declare @string varchar(50)
    set @string = '07012014'
    
    select CONVERT(date ,SUBSTRING(@string,1,2) + '-' + SUBSTRING(@string,3,2) + '-' + SUBSTRING(@string,5,4))
    Alguém pode me ajudar a retornar esse valor como 07-01-2014?

    quarta-feira, 8 de janeiro de 2014 13:35

Respostas

  • Deleted
    quarta-feira, 8 de janeiro de 2014 14:20
  • Thais,

    Se você utiliza o SQL Server 2012, utilize o exemplo abaixo:

    SET DATEFORMAT dmy
    GO
    
    declare @string varchar(50)
    set @string = '07012014'
    
    SELECT FORMAT( CONVERT(date ,SUBSTRING(@string,1,2) + '-' + SUBSTRING(@string,3,2) + '-' + SUBSTRING(@string,5,4)), 'dd/MM/yyyy', 'pt-BR' )
    GO

    Segue um print-screen de evidência de teste:

    Se foi útil na sua solução, não esqueça de marcar como resposta.

    Espero que seja útil para você.

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quinta-feira, 9 de janeiro de 2014 12:55
    Moderador

Todas as Respostas

  • Bom dia,

    Experimente dessa forma:

    select CONVERT(date, LEFT(@string, 2) + '-' + SUBSTRING(@string,3,2) + '-' + RIGHT(@string, 4), 105)

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    quarta-feira, 8 de janeiro de 2014 13:53
  • Deleted
    quarta-feira, 8 de janeiro de 2014 14:20
  • Thais,

    Se você utiliza o SQL Server 2012, utilize o exemplo abaixo:

    SET DATEFORMAT dmy
    GO
    
    declare @string varchar(50)
    set @string = '07012014'
    
    SELECT FORMAT( CONVERT(date ,SUBSTRING(@string,1,2) + '-' + SUBSTRING(@string,3,2) + '-' + SUBSTRING(@string,5,4)), 'dd/MM/yyyy', 'pt-BR' )
    GO

    Segue um print-screen de evidência de teste:

    Se foi útil na sua solução, não esqueça de marcar como resposta.

    Espero que seja útil para você.

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quinta-feira, 9 de janeiro de 2014 12:55
    Moderador