Usuário com melhor resposta
conversão apenas das data - data e hora

Pergunta
-
tenho a seguinte data 2013-02-04 10:52:01.367. o que eu queria é fazer a conversão apenas da data. Deixa - la no seguinte formato dd/MM/yyyy.
tentei usar o código de saída 131, convert(varchar,@data_hora,131), porém me deu a seguinte saída: 24/03/1434 10:52:01:367AM.
como fazer?
Respostas
-
Segue uma gambi, veja se ajuda:
select cast(datepart(D,GETDATE()) as CHAR(2)) + '/' + cast(datepart(M,GETDATE()) as CHAR(2)) + '/' + cast(datepart(YEAR,GETDATE()) as CHAR(4)) + ' ' + cast(datepart(HH,GETDATE()) as CHAR(2)) + ':' + cast(datepart(MI,GETDATE()) as CHAR(2)) + ':' + cast(datepart(SS,GETDATE()) as CHAR(2))
Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
- Sugerido como Resposta Alexandre Matayosi quarta-feira, 6 de fevereiro de 2013 10:27
- Marcado como Resposta Ricardo Russo segunda-feira, 18 de fevereiro de 2013 12:55
-
Rafa,
Uma outra solução:
--VARIAVEL DATETIME DECLARE @DATETIME DATETIME = GETDATE() SELECT CONVERT(VARCHAR, @DATETIME, 103) + --dd/MM/yyyy ' ' + --ESPAÇO SUBSTRING(CONVERT(VARCHAR, @DATETIME, 109),13,14) -- HH:MI:SS:MMMAM (ou PM)
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Sugerido como Resposta Alexandre Matayosi quarta-feira, 6 de fevereiro de 2013 10:27
- Marcado como Resposta Ricardo Russo segunda-feira, 18 de fevereiro de 2013 12:55
Todas as Respostas
-
Tente assim:
select convert(varchar,cast(@data as DATE) ,131)
Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
- Marcado como Resposta Ricardo Russo segunda-feira, 18 de fevereiro de 2013 12:54
- Não Marcado como Resposta Ricardo Russo segunda-feira, 18 de fevereiro de 2013 12:55
-
Use o formato 103, atende perfeitamente a sua solicitação:
SELECT CONVERT(VARCHAR,GETDATE(),103)
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
alexandre e vitor, já tentei isso. dessa forma apenas mostra a data no formato dd/MM/yyyy. eu preciso além de converter a data para esse formato, preciso que hora apareça. ou seja, tem, que me retornar: 04/02/2013 10:52:01:367AM.
entenderam?
-
-
me retorna isso 24/03/1434 11:03:35:657AM
veja que a data e hora está totalmente errada em reação da data e hora original (2013-02-04 10:52:01.367)
- Editado rafa-martin segunda-feira, 4 de fevereiro de 2013 13:29 r
-
Rafa,
Parece que a conversão para o formato 131 trabalha apenas para conversão islâmica (no caso Kuwati), eu consegui de uma maneira e achei meio gambiarra:
SELECT CONVERT(DATETIME,(SELECT CONVERT(VARCHAR,GETDATE(),131)),131)
Converter para formato islâmico, depois gregoriano.
Existe até uns sites falando sobre isso:
http://connect.microsoft.com/SQLServer/feedback/details/776464/sql-server-2008-r2-datetime-format-131
http://social.msdn.microsoft.com/Forums/en/sqlnetfx/thread/19f8b4ac-4cd2-4784-809e-9234d0053e02Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
cara só que dessa forma me retorna yyyy-MM-dd 11:35:01:348.
preciso que retorne, dd/MM/yyyy 11:35:01:348
a minha data na tabela já está como tipo datetime. por isso preciso de retorno em formato brasileiro.- Editado rafa-martin segunda-feira, 4 de fevereiro de 2013 13:36 r
-
Segue uma gambi, veja se ajuda:
select cast(datepart(D,GETDATE()) as CHAR(2)) + '/' + cast(datepart(M,GETDATE()) as CHAR(2)) + '/' + cast(datepart(YEAR,GETDATE()) as CHAR(4)) + ' ' + cast(datepart(HH,GETDATE()) as CHAR(2)) + ':' + cast(datepart(MI,GETDATE()) as CHAR(2)) + ':' + cast(datepart(SS,GETDATE()) as CHAR(2))
Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
- Sugerido como Resposta Alexandre Matayosi quarta-feira, 6 de fevereiro de 2013 10:27
- Marcado como Resposta Ricardo Russo segunda-feira, 18 de fevereiro de 2013 12:55
-
Rafa,
Uma outra solução:
--VARIAVEL DATETIME DECLARE @DATETIME DATETIME = GETDATE() SELECT CONVERT(VARCHAR, @DATETIME, 103) + --dd/MM/yyyy ' ' + --ESPAÇO SUBSTRING(CONVERT(VARCHAR, @DATETIME, 109),13,14) -- HH:MI:SS:MMMAM (ou PM)
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Sugerido como Resposta Alexandre Matayosi quarta-feira, 6 de fevereiro de 2013 10:27
- Marcado como Resposta Ricardo Russo segunda-feira, 18 de fevereiro de 2013 12:55