복붙노트

[SQL] 어떻게 SQL Server 2008 R2의 일 / 월 / 연도에 시스템 날짜 형식을 변환하는?

SQL

어떻게 SQL Server 2008 R2의 일 / 월 / 연도에 시스템 날짜 형식을 변환하는?

나는 SQL Server 2008 R2를 사용하고 있습니다. 나는이 형식으로 시스템 날짜를 변환 할 : 일 / 월 / 년을

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

내 열은 데이터를 포함합니다 :

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

레코드가있는 경우 2013-01-01 00 : 내가 원하는 무엇 00 : - 일 / 월 / 연도 00.000이 형식 만 나는 Caculation 점수로 변경

내 코드입니다

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

해결법

  1. ==============================

    1.

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

    이 옵션을 선택합니다. 나는 D30.SPGD30_TRACKED_ADJUSTMENT_X이 날짜 시간 데이터 형식입니다 가정입니다. 내가 CHARINDEX는 () 문자 표현에서 작동 때문에 문자 표현으로 그것을 만들 CAST () 함수를 사용하고 이유입니다. 또한 나는 OR 조건의 필요가 없다 생각합니다.

    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
    

    편집하다:

    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
    

    https://www.w3schools.com/sql/func_sqlserver_convert.asp : 다른 날짜 형식으로 변환이 링크를 참조하십시오

  2. ==============================

    2.쿼리는 아래 일 / 월 / 연도 형식으로 발생합니다.

    쿼리는 아래 일 / 월 / 연도 형식으로 발생합니다.

    select  LEFT(convert(varchar(10), @date, 103),6) + Right(Year(@date)+ 1,2)
    
  3. ==============================

    3.이 시도

    이 시도

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

    여기에 더 많은 정보 : https://msdn.microsoft.com/en-us/library/ms187928.aspx

  4. ==============================

    4.

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

    단순히 일 / 월 / 년을 위해 이것을 사용 이

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

    월 / 일 / 년에 대한

  5. ==============================

    5.쿼리는 다음과 DD-음-YY 형식으로 발생합니다.

    쿼리는 다음과 DD-음-YY 형식으로 발생합니다.

    select 
    cast(DAY(getdate()) as varchar)+'-'+left(DATEname(m,getdate()),3)+'-'+  
    Right(Year(getdate()),2)
    
  6. from https://stackoverflow.com/questions/15017300/how-to-convert-the-system-date-format-to-dd-mm-yy-in-sql-server-2008-r2 by cc-by-sa and MIT license