2011-09-23 5 views
10

SQL Server에서 getdate()의 출력을 YYYYMMDDHHmmSS으로 변환하는 방법 HH은 24 시간 형식입니까?getdate를 YYYYMMDDHHmmSS로 ​​포맷하는 방법

나는

select CONVERT(varchar,GETDATE(),112) 

으로 YYYYMMDD 다있어하지만 지금까지 내가 가진 같습니다.

감사합니다.

답변

17
select replace(
     replace(
     replace(convert(varchar(19), getdate(), 126), 
     '-',''), 
     'T',''), 
     ':','') 
+10

그리고 얼마나 못생긴가! :) –

+0

답장을 보내 주셔서 감사합니다. 그것은 나를 많이 도왔습니다 :). –

6

닫기하지만 당신을 요구하고 정확히 무엇을 :

select CONVERT(varchar, GETDATE(), 126) 

예를 들어,

2011-09-23T12:18:24.837 

(YYYY-MM ISO 형식 : MI : 시간대없이 ISO8601 ss.mmm (공백))

참조 : CONVERT()와 사용자 정의 형식을 지정하는 방법은 CAST and CONVERT

없다 . 다른 옵션은 문자열 조작을 수행하여 원하는 형식으로 작성하는 것입니다.

3

이 시도 :

선택 CONVERT (VARCHAR, GETDATE(), 120)를 예를 들어

2011-09-23 12:18:24 (yyyy-mm-dd hh : mi : ss (24h), ODBC canonical)

Hth.

17

그냥 당신이 FORMAT 기능을 사용할 수있는 SQL 서버 2012가이 기능을 찾고 누군가를 위해 : 이것은 유용한 새로운 추가하고 모든 .NET 형식 문자열을 허용

SELECT FORMAT (GETDATE(), 'yyyyMMddHHmmss') AS 'Custom DateTime' 

합니다.

+2

+1 - 매우 도움이됩니다. 이제 .net 프레임 워크의 datetime.tostring 형식을 모두 사용할 수 있습니다. http://msdn.microsoft.com/en-us/library/zdtaw1bw(v=vs.110).aspx – TWood

+0

감사합니다. 나를 위해 일했습니다! –

0

변환하는 datetime은 변환을 위해 둘 이상의 호출이 필요합니다. 이를 위해 varchar를 반환하는 함수를 사용하는 것이 가장 좋습니다. Thinhbk 당신은 당신이 원하는 것을 아주 가까이에 select CONVERT(varchar,getdate(),20) 또는 select CONVERT(varchar,getdate(),120)을 사용할 수 있습니다 게시 된

select CONVERT(varchar,GETDATE(),112) --YYYYMMDD 
select CONVERT(varchar,GETDATE(),108) --HH:MM:SS 

함수

DECLARE @result as varchar(20) 
set @result = CONVERT(varchar,GETDATE(),112) + ' ' + CONVERT(varchar,GETDATE(),108) 
print @result 

20131220 13시 15분 50초

안쪽과 같이 함께 넣습니다.

1

다른 옵션!

SELECT CONVERT(nvarchar(8), GETDATE(),112) + 
    CONVERT(nvarchar(2),DATEPART(HH,GETDATE())) + 
    CONVERT(nvarchar(2),DATEPART(MI,GETDATE())) + 
    CONVERT(nvarchar(2),DATEPART(SS,GETDATE())); 
관련 문제