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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL中将dd / mm / yyyy VARCHAR转换为yyyy-dd-mm DATETIME相关的知识,希望对你有一定的参考价值。

我正在尝试将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

以上是关于在SQL中将dd / mm / yyyy VARCHAR转换为yyyy-dd-mm DATETIME的主要内容,如果未能解决你的问题,请参考以下文章

如何在presto sql中将字符串'yyyy-mm-dd'转换为日期格式

如何在 SPARK SQL API 中将 YYYY-MM-DD 转换为 YYYYMMDD [重复]

SQL中将INT类型的YYYYMMDDHHMMSS改为VARCHAR的YYYY-MM-DD

在 sql server 中将 varchar yyyy-mm-dd T hh:mm 转换为 datetime2

有没有办法在 SQL Server 中将日期格式化为 MM DD YYYY 而不是 YYYYMMDD? [复制]

在 hive 中将时间格式从 'MM/dd/yyyy HH:mm:ss' 转换为 'MM-dd-yyyy' [关闭]