在SQL中将dd / mm / yyyy VARCHAR转换为yyyy-dd-mm DATETIME

问题描述 投票:0回答:2

我正在尝试将qcharxswpoi格式(2017年8月1日)的varchar(255)字符串(dp.Date)转换为dd/mm/yyyy(2017-08-01)中的日期时间。

我尝试过使用yyyy-mm-dd format,但我最终得到以下错误消息。

将char数据类型转换为datetime数据类型会导致日期时间值超出范围。

sql sql-server-2005
2个回答
0
投票

我已经设法通过使用CAST + SUBSTRING来解决它。

cast(substring(dp.Date,7,4)+ substring(dp.Date,4,2)+ substring(dp.Date,1,2)AS datetime)


0
投票

您可以尝试使用CONVERT(DATETIME, dp.Date, 120),如下所示。使用样本数据执行:

PARSENAME
© www.soinside.com 2019 - 2024. All rights reserved.