2013-10-16 6 views
0

datetime 열이있는 테이블이 있습니다. hh : mm : ss로 날짜를 검색하고 싶습니다. 시간은 12 시간입니다.날짜 변환

나는 다음을 시도했다.

convert(varchar(10), t2.CSM_START_TIME,108), 
convert(varchar(2),datepart(hour,t2.CSM_START_TIME)) 
    +':'+convert(varchar(2),datepart(mm,t2.CSM_START_TIME)) 
    +':'+convert(varchar(2), datepart(SECOND,t2.CSM_START_TIME)) 
    as START_TIME 
+0

그리고 시도의 결과는 무엇입니까? – geomagas

+0

어떤 형식을 기대하고 어떤 형식을 얻었습니까? 당신이 가진 것을 보여 줄 수 있습니까? 어떻게 잘못 되었습니까? 프레젠테이션 레이어에서이 형식을 지정하지 않는 이유는 무엇입니까? 그래서, 그렇게 쉽게. –

+0

AM/PM이없는 hh : mm : ss를 정말로 원하십니까? 그럼 오전 11시 34 분 25 초인지 모르겠군요? –

답변

3
SELECT LTRIM(RIGHT(CONVERT(CHAR(20),GETDATE(),22),11)); 

결과 :

11:40:15 PM 

또는 당신은 정말 AM/PM (이해가 안되는)하지 않으려면 :

SELECT LTRIM(LEFT(RIGHT(CONVERT(CHAR(20), GETDATE(),22),11),8)); 

결과 :

11:40:15 

클라이언트에서 서식을 지정하는 것이 훨씬 더 좋습니다. 예를 들어 C#을 사용하는 경우 .Format().ToString()을 확인하십시오. much more flexible features in a more powerful language이있는 경우 SQL Server에서 더러운 프레젠테이션 작업을 수행하지 마십시오.

0

이것은 내가 원하는 것을 얻었습니다.

, 문자열 (변환 (VARCHAR (40) t2.CSM_START_TIME 109), 12,9) + '+'부분 문자열 (변환 (VARCHAR (40) t2.CSM_START_TIME 109), 25,2)