我有一个日期作为形式的 varchar
DD/MM/YYYY HH:MM:SS AM
例如
16/3/2012 4:39:26 PM
CONVERT()
我在MSDN 页面中看不到有效的格式选项
我是否遗漏了什么或者我必须先重新格式化 varchar 字段?
编辑:
更正了格式,抱歉
我有一个日期作为形式的 varchar
DD/MM/YYYY HH:MM:SS AM
例如
16/3/2012 4:39:26 PM
CONVERT()
我在MSDN 页面中看不到有效的格式选项
我是否遗漏了什么或者我必须先重新格式化 varchar 字段?
编辑:
更正了格式,抱歉
一旦你的故事直截了当,你会想要其中之一:
-- if you really meant dd/mm/yyyy then:
SELECT CONVERT(DATETIME, '16/3/2012 4:39:26 PM', 103);
-- if you really meant mm/dd/yyyy then:
SELECT CONVERT(DATETIME, '3/16/2012 4:39:26 PM', 101);
但同意马迪瓦南的意见。不要使用错误的数据类型存储日期,如果必须,请使用明确的格式!
DATETIME
数据类型来存储日期YYYYMMDD
并且YYYYMMDD HH:MM:SS
是明确的日期格式有关更多信息,请参阅此
这将起作用。
DECLARE @dt varchar(100)='2012/3/16 4:39:26 PM'
select convert(datetime,@dt,101)