2017-04-04 73 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