2017-04-04 62 views
0

我如何在SQL Server 2008中轉換的含日期/時間下列格式1億多條記錄的表內的varchar柱:MM/DD/YYYY HH24:MI:SS轉換日期/時間日期/軍用時間

例子:

'Feb 14 2017 3:00PM' converted to '02/14/2017 15:00:00' 
'Feb 18 2017 10:03AM' converted to '02/18/2017 10:03:00' 

日期/時間列標題= ACTION_TM

請注意在第一示例VS第二單空間年份和時間之間的雙空間。 '2017 3:00'vs'2017 10:03'。

預先感謝您

回答

1

https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql

樣品... VARCHAR(20),用於長度...並轉換爲20格式或任何所需的格式。

select convert(varchar(20),getdate(),20) 

不過你的情況,你有你的列轉換成一個有效的日期,以便應

select convert(varchar(20),cast('Feb 14 2017 3:00PM' as datetime),20) 
select convert(varchar(20),cast('Feb 18 2017 10:03AM' as datetime),20) 

做的凌亂的方式是

select convert(varchar(10),cast('Feb 14 2017 3:00PM' as datetime),101) + ' ' + convert(varchar(112),cast('Feb 14 2017 3:00PM' as datetime),114) 
+0

非常接近..產生這樣的結果:2017-02-14 15:00:00,我需要:02/14/2017 15:00:00 –

+0

當然,這意味着你要弄清楚正確的樣式 – maSTAShuFu

+0

檢查更新的腳本@JuanZendejas – maSTAShuFu