mysql - Mysql - 将详细日期格式更改为 Ymd
问题描述
我正在研究一个显然是由一个初学者构建的项目。日期以varchar
“2010 年 1 月 20 日”格式存储在列中。我需要将此列转换为DATE
orDATETIME
但是当我这样做时(在备份中),值变为0000-00-00
.
str_to_date()
在使用和函数更改列类型之前,我尝试将值转换为正确的格式,DATE()
但两者都报告无效的字符串格式。是否可以将此数据转换为有效的日期格式?
解决方案
使用STR_TO_DATE
,并使用当前文本日期使用适当的日期值更新此列。
UPDATE yourTable
SET new_date = STR_TO_DATE(old_date, '%b %e, %Y');
我的猜测是您使用了错误的格式掩码和/或您的某些文本日期有问题。这是一个简短的演示,表明上述逻辑有效。
演示
推荐阅读
- kubernetes - 解决所需的 RBAC 角色无法获取用户的路径“/”
- python - 如何在 Pandas DataFrame 中应用复杂的 lambda 函数,每行有很长的元素列表
- django - 从特定用户获取值 - Django 中的查询集
- ruby-on-rails - 2个表之间的关联不起作用
- python - Python函数设置变量意外
- python - wxPython框架背景透明
- ajax - 使用 reCAPTCHA 在 WordPress 上通过 AJAX 提交表单时遇到问题
- android - 将 JsonObject 解析成 kotlin 数据类
- javascript - 异步而不运行 fn
- python - 如何使用python中的函数计算股票价值