ti-enxame.com

Como converter o formato de data do sistema para dd/mm/aa no SQL Server 2008 R2?

Estou usando o SQL Server 2008 R2. Eu quero converter a data do sistema para este formato: dd/mm/yy

"2013-01-01 00:00:00.000" to "Score Calculation - 10/01/13".

Minha coluna contém os dados:

1. DMS01A13010101
2. RMS01A13010201
3. 44
4. 2013-01-01 00:00:00.000

O que eu quero: se o registro tiver 2013-01-01 00:00:00.000 neste formato, somente mudo para Score Caculation - dd/mm/yy

Meu código é

select 
   case 
      when (CHARINDEX(D30.SPGD30_TRACKED_ADJUSTMENT_X, '-*') > 0 or 
            CHARINDEX(D30.SPGD30_TRACKED_ADJUSTMENT_X, '*-') > 0) 
      then 'Score Calculation - ' + CONVERT(VARCHAR(8), D30.SPGD30_TRACKED_ADJUSTMENT_X, 1) 
    end checkthedate 
from 
    CSPGD30_TRACKING D30
5
Adalarasan_Serangulam
   SELECT CONVERT(varchar(11),getdate(),101)  -- mm/dd/yyyy

   SELECT CONVERT(varchar(11),getdate(),103)  -- dd/mm/yyyy

Verifique isso. Estou assumindo que D30.SPGD30_TRACKED_ADJUSTMENT_X é do tipo de dados datetime.
É por isso que estou usando a função CAST() para torná-la como uma expressão de caractere porque CHARINDEX() funciona na expressão de caractere.
Também acho que não há necessidade de OR condição.

select case when CHARINDEX('-',cast(D30.SPGD30_TRACKED_ADJUSTMENT_X as varchar )) > 0 

then 'Score Calculation - '+CONVERT(VARCHAR(11), D30.SPGD30_TRACKED_ADJUSTMENT_X, 103)
end

EDITAR:

select case when CHARINDEX('-',D30.SPGD30_TRACKED_ADJUSTMENT_X) > 0 
then 'Score Calculation - '+
CONVERT( VARCHAR(11), CAST(D30.SPGD30_TRACKED_ADJUSTMENT_X as DATETIME) , 103)
end

Veja este link para conversão para outros formatos de data: https://www.w3schools.com/sql/func_sqlserver_convert.asp

14
Mudassir Hasan

A consulta abaixo resultará no formato dd/mm/yy.

select  LEFT(convert(varchar(10), @date, 103),6) + Right(Year(@date)+ 1,2)
2
John Woo

Tente isso

SELECT CONVERT(varchar(11),getdate(),101) -- Converts to 'mm/dd/yyyy'

SELECT CONVERT(varchar(11),getdate(),103) -- Converts to 'dd/mm/yyyy'

Mais informações aqui: https://msdn.Microsoft.com/pt-br/library/ms187928.aspx

1
Er Ketan Vavadiya

A consulta abaixo resultará no formato dd-mmm-yy.

select 
cast(DAY(getdate()) as varchar)+'-'+left(DATEname(m,getdate()),3)+'-'+  
Right(Year(getdate()),2)
0
Dipin C.K
select convert(varchar(8), getdate(), 3)

simplesmente use isto para dd/mm/aa e isto 

select convert(varchar(8), getdate(), 1) 

para mm/dd/aa

0
Palash