Usuário com melhor resposta
Converter string em date

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?
Respostas
-
Deleted
- Sugerido como Resposta Fulvio Cezar Canducci Dias quinta-feira, 9 de janeiro de 2014 13:10
- Marcado como Resposta Giovani Cr terça-feira, 14 de janeiro de 2014 14:35
-
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 RamosMicrosoft Partner | MTA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Roberto F FonsecaModerator quinta-feira, 9 de janeiro de 2014 13:43
- Marcado como Resposta Giovani Cr terça-feira, 14 de janeiro de 2014 14:35
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
-
Deleted
- Sugerido como Resposta Fulvio Cezar Canducci Dias quinta-feira, 9 de janeiro de 2014 13:10
- Marcado como Resposta Giovani Cr terça-feira, 14 de janeiro de 2014 14:35
-
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 RamosMicrosoft Partner | MTA - SQL Server 2012---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Roberto F FonsecaModerator quinta-feira, 9 de janeiro de 2014 13:43
- Marcado como Resposta Giovani Cr terça-feira, 14 de janeiro de 2014 14:35