我正在尝试将qcharxswpoi格式(2017年8月1日)的varchar(255)字符串(dp.Date)转换为dd/mm/yyyy
(2017-08-01)中的日期时间。
我尝试过使用yyyy-mm-dd format
,但我最终得到以下错误消息。
将char数据类型转换为datetime数据类型会导致日期时间值超出范围。
我已经设法通过使用CAST + SUBSTRING来解决它。
cast(substring(dp.Date,7,4)+ substring(dp.Date,4,2)+ substring(dp.Date,1,2)AS datetime)
您可以尝试使用CONVERT(DATETIME, dp.Date, 120)
,如下所示。使用样本数据执行:
PARSENAME