2013-09-26 2 views
1

문자열 형식의 날짜를 11-09-2013으로 dd-mm-yyyy 형식의 JSP에서 전달합니다. 이 수,dd-mm-yyyy 문자열을 날짜로 변환

11-SEP-2013 

그러나 :

select convert(varchar(10),'11-09-2013',106) 

그러나 내 예상 출력, 제공되지 않습니다 : 내 질문은 세 가지 경우 모두에서

11-SEP-2013 
+1

왜 JSP에서 yyyymmdd와 같은 표준 형식을 전달하지 않습니까? 아니면 그냥 문자열 대신 날짜를 전달 ??? –

+0

'dd-mm-yyyy' 형식을 피하고 훨씬 더 보편적 인'yyyymmdd'를 사용하는 것이 가장 좋습니다 – whytheq

답변

0
DECLARE @d CHAR(10) = '11-09-2013'; -- dd-mm-yyyy 

SELECT UPPER(REPLACE(CONVERT(CHAR(11), CONVERT(DATETIME, @d, 103), 106), ' ', '-')); 

-- if 2008+ you can use DATE instead: 
SELECT UPPER(REPLACE(CONVERT(CHAR(11), CONVERT(DATE, @d, 103), 106), ' ', '-')); 

-- if 2012 you can use: 
SELECT UPPER(FORMAT(CONVERT(DATE, @d, 103), 'dd-MMM-yyyy')); 

결과 이런 식으로 문자열 등으로 변환하는 것은 매우 비쌉니다. 왜이 출력 형식이 필요한데 어디로 가고 있습니까? 이것이 클라이언트에서 제공된다면 클라이언트에서 문자열 포맷팅 기능을 이용하는 것이 훨씬 낫습니다.

관련 문제