我有一个VARCHAR
,其中包含以下格式的datetime
数据:
15/04/2014 16:05
我需要将其转换为datetime
(具有与之前一样的格式),但转换时出现超出范围的错误:
CONVERT(DATETIME, @endDate, 108)
将nvarchar数据类型转换为日期时间数据类型会导致超出范围的值。
有没有建议成功转换的最佳方法?请记住,我无法更改源格式,最终需要比较日期,看看它是否已过去。
答案 0 :(得分:3)
我认为您想使用103而不是108作为最终参数。
答案 1 :(得分:0)
请使用与语言/国家无关的日期常量值
-- Independent constant (natural date)
DECLARE @END_DTE VARCHAR(20) = '20140415 16:05'
-- Show the result
SELECT CONVERT(DATETIME, @END_DTE, 108) AS FORMAT_DTE