program story

SQL Server에서 날짜 형식을 DD / MMM / YYYY 형식으로 변환

inputbox 2020. 12. 14. 08:10
반응형

SQL Server에서 날짜 형식을 DD / MMM / YYYY 형식으로 변환


SQL에 쿼리가 있습니다. 날짜를 다음 형식으로 가져와야합니다. dd/mmm/yy

예 : 25/jun/2013.

SQL Server로 변환하려면 어떻게해야합니까?


원하는 형식과 정확히 일치하는 항목이 있는지 잘 모르겠습니다. 그러나 당신은 convert()스타일과 친해질 수 있습니다 106. 그런 다음 공백을 바꿉니다.

SELECT replace(convert(NVARCHAR, getdate(), 106), ' ', '/')

SQL Server 2008 에는 이미 여러 가지 답변 및 형식 지정 유형 이 있습니다. 그러나이 방법은 다소 모호하며 특정 날짜 형식과 관련하여 숫자를 기억하기 어려울 것입니다. 이것이 다음 버전의 SQL 서버에 더 나은 옵션이있는 이유입니다.

SQL Server 2012 이상 버전을 사용하는 경우 Format () 함수를 사용해야 합니다.

FORMAT ( value, format [, culture ] )

문화 옵션을 사용하면 시청자별로 날짜를 지정할 수 있습니다.

DECLARE @d DATETIME = '10/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS 'US English Result'
      ,FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result'
      ,FORMAT ( @d, 'd', 'de-de' ) AS 'German Result'
      ,FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result'; 

SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result'
      ,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result'
      ,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result'
      ,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';

US English Result Great Britain English Result  German Result Simplified Chinese (PRC) Result
----------------  ----------------------------- ------------- -------------------------------------
10/1/2011         01/10/2011                    01.10.2011    2011/10/1

US English Result            Great Britain English Result  German Result                    Chinese (Simplified PRC) Result
---------------------------- ----------------------------- -----------------------------  ---------------------------------------
Saturday, October 01, 2011   01 October 2011               Samstag, 1. Oktober 2011        2011年10月1日

OP 솔루션의 경우 @Martin Smith가 이미 언급 한 다음 형식을 사용할 수 있습니다.

FORMAT(GETDATE(), 'dd/MMM/yyyy', 'en-us')

일부 샘플 날짜 형식 :

여기에 이미지 설명 입력

SQL 서버의 더 많은 날짜 형식을 원하면 다음을 방문해야합니다.

  1. 사용자 지정 날짜 및 시간 형식
  2. 표준 날짜 및 시간 형식

날짜를 다음과 같은 다양한 형식으로 변환 할 수 있습니다.

SELECT convert(varchar, getdate(), 106)

이것은 반환 dd mon yyyy

여기에 더 많은 도움이 될 수 있습니다


받아 들여진 대답은 이미 2008 년에 내장 된 서식 지정 방법을 사용하여 최상의 솔루션을 제공합니다.

그러나 반환 된 결과는 로그인 언어에 따라 다릅니다.

SET language Russian

SELECT replace(CONVERT(NVARCHAR, getdate(), 106), ' ', '/') 

보고

06/апр/2015

글을 쓰는 시점에.

그리고 할 필요 - SQL 서버이 문제를 방지하는 방법의 최신 버전에이 질문 건너 오는 사람들을 위해 REPLACEIS

FORMAT(GETDATE(),'dd/MMM/yyyy', 'en-us')

2005 년부터는 동일한 시뮬레이션을 위해 DateTime, Formatting Pattern 및 Culture를 허용하는 CLR UDF를 작성할 수 있습니다.


아래 쿼리를 사용해보십시오.

SELECT REPLACE(CONVERT(VARCHAR(11),GETDATE(),6), ' ','/');  

결과 : 2013 년 6 월 20 일

SELECT REPLACE(CONVERT(VARCHAR(11),GETDATE(),106), ' ','/');  

결과 : 2013 년 6 월 20 일


이 시도

select convert(varchar,getdate(),100)

세 번째 매개 변수는 형식이고 범위는 100~입니다 114. 어느 것이 든 작동합니다.

dd/mmm/yyyy사용 날짜가 필요한 경우 :

replace(convert(char(11),getdate(),113),' ','-')

getdate()열 이름으로 바꿉니다 . 이것은 나를 위해 일했습니다.


이 시도 :

select replace ( convert(varchar,getdate(),106),' ','/')

SQL 서버 '날짜 유형'변수에 날짜를 수동으로 입력하려는 사람은 다음을 입력하는 동안이 형식을 사용합니다.

'yyyy-mm-dd'


이 쿼리를 사용할 수 있습니다.

SELECT FORMAT (getdate(), 'dd/MMM/yy') as date

희망,이 쿼리가 도움이됩니다.

감사!!

참고 URL : https://stackoverflow.com/questions/17205441/convert-date-format-into-dd-mmm-yyyy-format-in-sql-server

반응형