当前位置: 首页 > 知识库问答 >
问题:

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

乐宜民
2023-03-14

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

基本上,我想去掉实际时间,加上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”

共有1个答案

徐昕
2023-03-14

您需要使用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]$'
 类似资料:
  • 问题内容: 我在mySQL 5.1中有一个数据类型的日期列。如何将其转换为DATE? 这是我到目前为止所拥有的- 得到这个 错误-#1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’FROM 7 FOR 4附近使用) 请帮忙。 问题答案: 您可以使用MySQL的功能 尽管我怀疑您使用Unix时间戳会更轻松

  • 在下面的示例中,我们正在尝试将“日期”从一种格式转换为其他格式,例如要转换为UTC格式,例如2021-07-26T18:37:15.490Z 有人能帮忙吗。 输入XML: 现有输出: XSLT代码: 参考URL:https://xsltfiddle.liberty-development.net/pNEj9dB/1

  • 我正在处理一个带有列“到期日期”的表,作为所有数据格式为DD/MM/YYYY的varchar。 表的创建者在此到期日期列中使用了错误的类型,现在客户端需要过滤并显示当前日期之前和之后的所有记录作为时间。这意味着需要将类型更改为date或datetime类型才能使用CURDATE()函数。 但是,值的当前格式不满足并且不允许类型更改,除非格式更改为YYYY-MM-DD(或类似)。 是否有任何方法可以

  • 问题内容: 如何获得日期的毫秒时间?我有以下代码。 此变量beginupd包含格式 2011年10月12日星期三11:55:03 GMT + 05:30 现在如何在Long数据类型中将此格式转换为毫秒时间?非常感谢您的任何帮助,并在此先感谢… 问题答案: JavaDoc指出: 返回自此Date对象表示的自格林尼治标准时间1970年1月1日00:00:00以来的毫秒数。

  • 问题内容: 我需要将 长 日期值转换为 mm / dd / yyyy 格式。我的长值是 请帮我 问题答案: 请参阅下面的代码,这些代码以字符串形式给出日期。

  • 我有一个具有以下结构的数据帧: 我需要将单元格Group_Membership中的值转换为列,并得到一个如下所示的数据框: 我设法将列Group_成员资格中的值转换为列表,然后将其“分解”,但随后我应该以某种方式将其转置 不知怎的,我现在应该把它转过来了。而且,我不确定这是最好的方法。。。 非常感谢您的帮助!