MSSQL How to convert timestamp yyyyMMddhhmmss to DateTime format – 如何把 TimeStamp yyyyMMddhhmmss 轉成 日期時間yyyy-MM-dd hh:mm:ss

今日同事又有一個有趣的問題…
就是如何把 TimeStamp yyyyMMddhhmmss轉成 日期時間yyyy-MM-dd hh:mm:ss
來把現在的日期時間轉

之前的網誌常常和大家介紹如何用不同的 programming language 轉為 Timestamp yyyyMMddhhmmss
e.g. 20150603012345
Generate Timestamp (yyyyMMddhhmmss)in MSSQL — 在MSSQL 中建立一個像時間戳的值

做了一會research 之後發現
我們可以使用STUFF 這個功能去分數這些數字..之後再把他們轉換為日期時間

我在建立一個 function 方便大家轉換 Timestamp 到日期時間格式
解決方法

GO
-- =============================================
-- Author:		 sharechiwai
-- Create date: 2015-06-03
-- Description:	 This function used to convert timestamp yyyyMMddhhmmss to DateTime format
-- =============================================
CREATE FUNCTION [dbo].[ConvertTimestampToDateTime]
(
	-- Add the parameters for the function here
	@TimeStamp VARCHAR(14)=''
)
RETURNS DateTime
AS
BEGIN	
	-- Return the result of the function
	RETURN CAST(STUFF(STUFF(STUFF(@TimeStamp, 9, 0, ' '), 12, 0, ':'), 15, 0, ':') AS DATETIME)
END
GO

TSQL Convert TimeStamp to DateTime function

使用方法

SELECT dbo.ConvertTimestampToDateTime('20150603012345')

TSQL Convert TimeStamp to DateTime Format function usage

Hope you find it useful

Leave a Reply