在SQL Server中如何格式getdate()
輸出爲YYYYMMDDHHmmSS
其中HH
是24小時格式?如何將getdate格式化爲YYYYMMDDHHmmSS
我已經得到了YYYYMMDD
完成與
select CONVERT(varchar,GETDATE(),112)
但那是據我得到了。
謝謝。
在SQL Server中如何格式getdate()
輸出爲YYYYMMDDHHmmSS
其中HH
是24小時格式?如何將getdate格式化爲YYYYMMDDHHmmSS
我已經得到了YYYYMMDD
完成與
select CONVERT(varchar,GETDATE(),112)
但那是據我得到了。
謝謝。
select replace(
replace(
replace(convert(varchar(19), getdate(), 126),
'-',''),
'T',''),
':','')
關閉而不是你所要求正是爲:
select CONVERT(varchar, GETDATE(), 126)
例如
2011-09-23T12:18:24.837
(YYYY-MM-DDTHH:MI:ss.mmm(無空格),ISO8601無時區)
沒有辦法指定與CONVERT()
自定義格式。另一種選擇是執行字符串操作以創建您想要的格式。
嘗試這種情況:
選擇轉換(VARCHAR,GETDATE(),120) 例如
2011-09-23 12:18:24 (yyyy-mm-dd hh:mi:ss(24h),ODBC canonical)。
Hth。
只是爲了任何人搜索這個功能,有SQL Server 2012,你可以使用格式化功能:
SELECT FORMAT (GETDATE(), 'yyyyMMddHHmmss') AS 'Custom DateTime'
這使得任何.NET格式字符串使其成爲一個有用的新的補充。
+1 - 非常有幫助。現在,您可以使用.net框架中的所有這些datetime.tostring格式。 http://msdn.microsoft.com/en-us/library/zdtaw1bw(v=vs.110).aspx – TWood
謝謝,爲我工作! –
轉換日期時間這種方式需要多個呼叫進行轉換。最好的用法是在一個返回varchar的函數中。
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十三點15分50秒
內作爲Thinhbk發佈,您可以使用select CONVERT(varchar,getdate(),20)
或select CONVERT(varchar,getdate(),120)
得到相當接近你想要什麼。
另一種選擇!
SELECT CONVERT(nvarchar(8), GETDATE(),112) +
CONVERT(nvarchar(2),DATEPART(HH,GETDATE())) +
CONVERT(nvarchar(2),DATEPART(MI,GETDATE())) +
CONVERT(nvarchar(2),DATEPART(SS,GETDATE()));
這是多麼醜陋! :) –
非常感謝回覆。這對我幫助很大 :)。 –