繁体   English   中英

如何将 VARCHAR 列单元格值转换为日期格式?

[英]How to convert VARCHAR column cell values to date format?

我已将客户数据翻译成 DB 表,其中列类型 Varchar 中的单元格值很少,包含日期和少数不包含日期。 包含特定格式的 Date 的,需要转换为另一种格式,以便进一步用于数据分析工作。 我尝试了以下查询,但它显示了没有日期的单元格的错误。 我该如何解决这个问题?

基本上我想去掉实际时间和 append 000000 代替实际时间以及日期。

在此处输入图像描述

询问:

UPDATE Table1 
SET C1 = DATE_FORMAT(C1,'%Y%m%d000000') 
WHERE DATE_FORMAT(C1,'%Y%m%d%H%i%s') AND C1 IS NOT NULL;

错误:

代码:1292 截断不正确的日期时间值:“EVN”

您需要使用STR_TO_DATE()来解析VARCHAR列中的日期。

您可以使用正则表达式来测试列是否包含 MM/DD/YY 格式的日期。

UPDATE Table1
SET C1 = DATE_FORMAT(STR_TO_DATE('%m/%d/%y', C1), '%Y%m%d000000')
WHERE C1 RLIKE '^[01][0-9]/[0-3][0-9]/[0-9][0-9]$'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM