mysql - 在 MySQL 中将列中的所有值从 VARCHAR 转换为 DATE

标签 mysql date str-to-date

我知道如何使用 STR_TO_DATE(str,fmt);将更改特定字符串的格式,但如果我有一列文本格式的所有不同日期(例如 1/11/2016、1/25/2016、6/27/2015...)我该怎么办将列中的所有数据转换为 DATE 格式?从我读到的所有内容来看,您似乎每次都需要提供要转换的确切值。

最佳答案

您可以为此使用多个 isnull 函数。

select ifnull(STR_TO_DATE(a,'%Y-%m-%d'),sTR_TO_DATE(a,'%Y-%d-%m')) from [YourTable];

update [YourTable] set timestamp=ifnull(STR_TO_DATE([Colum],'%Y-%m-%d'),sTR_TO_DATE(a,'%Y-%d-%m')) ;

希望这有帮助。

关于mysql - 在 MySQL 中将列中的所有值从 VARCHAR 转换为 DATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38619602/

相关文章:

php - 如何使用 Eloquent/Laravel 执行此查询 : subquery WHERE IN with GROUP BY

php - 是否可以在单个MySQL服务器上应用复制机制?

ruby-on-rails - 解析ruby中的字符串日期,例如 "28-May-10"

Mysql str_to_date 显示 null 而不是格式化日期

mysql - STR_TO_DATE 和 ISO8601 原子时间格式

mysql - 将数据库从 mysql 转换为 mongoDb

mysql - 我可以使用别名或 const 作为 JSON_EXTRACT 函数的 JSON 键吗

java - 解析字符串日期到日期

MySQL在表中插入一定范围内的日期记录

mysql - 比较 DATETIME 字段时的 STR_TO_DATE() 与 CONSTANT