2016-06-14 57 views
0

我有數據20160526094432,我想轉換成日期時間在SQLServer的 其結果將是2016年5月26日9時44分32秒如何轉換爲nvarchar(包括時間)到日期時間

有沒有簡單的方法要做到這一點 ?

謝謝

+0

通過方便知道您正在使用 –

+0

可能複製數據庫的名稱[轉換爲varchar到日期時間在SQL Server](http://stackoverflow.com/questions/1509977/convert-varchar-into- datetime-in-sql-server) – Spiderman

回答

1

如果您使用MS SQL Server 2012或更新的版本,那麼您可以享受format函數。

select cast(format(20160526094432,'####-##-## ##:##:##') as datetime) [date-time] 

如果你的長號碼是一個字符串,那麼你必須將其轉換。

declare @d varchar(20)='20160526094432' 
select cast(format(cast(@d as bigint),'####-##-## ##:##:##') as datetime) [date-time] 
+0

我正在使用SQLServer 2014,我想更新我的表格。 更新copy_vw_work_in_progress_so_list 將picking_datetime = CAST(FORMAT([picking_date],'#### - ## - ## ##:##:##')設置爲datetime)。 和錯誤消息8116,級別16,狀態1,行9 參數數據類型nvarchar對格式化函數的參數1無效。 – Henry

+0

查看我的更新。 '... CAST(FORMAT(cast([picking_date] as bigint),'#### ### ### ##:##')as datetime)...' –

0

嗯。我不認爲這是一個真正乾淨方式,但這樣的事情應該工作:

select (convert(datetime, left(col, 8) as datetime) + 
     convert(datetime, convert(time, 
            stuff(stuff(right(col, 6), 5, 0, ':'), 3, 0, ':') 
           ) 
       ) 
     ) 
0

也許你可以用這種方式嘗試,例如日期是你的表的列,103是格式你想轉換的日期,谷歌的更多細節。

CONVERT(datetime, Date, 103) 
+0

我已經試過但是得到錯誤 從字符串轉換日期和/或時間時轉換失敗。 – Henry

相關問題