首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换字符顺序MySQL字段

问替换字符顺序MySQL字段
EN

Stack Overflow用户
提问于 2021-02-02 04:27:08
回答 1查看 28关注 0票数 0

我有一个mysql列"datepicker“,其中我一直以"m/d/Y”格式存储日期,现在我想将现有数据更改为"d-m-Y“。是否有UPDATE命令可以快速处理所有匹配,而不必为每个日期创建查询?

示例:

代码语言:javascript
复制
UPDATE `signup` SET `datepicker` = '18-12-2020' WHERE `datepicker` = '12/18/2020';

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-02 05:04:14

这真的是一个很好的举动。您正在将数据从非标准格式转换为ISO8601标准。如果将列的数据类型更改为DATE,效果会更好。但首先要做这件事。

您可以使用MySQL's date processing capabilities来执行您需要的操作。

从这个开始。它应该以您要转移的格式找到您的日期,并以dbms的规范日期格式显示它们。这是为了测试,因为更新是破坏性的,并且您希望确保它是正确的。

代码语言:javascript
复制
SELECT DATE(STR_TO_DATE(datepicker, '%c/%d/%Y')) new_datepicker, datepicker
  FROM signup
 WHERE datepicker RLIKE '^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$';

当你确定你在这里得到了你想要的东西时,你可以这样做。

代码语言:javascript
复制
UPDATE signup
   SET datepicker = DATE(STR_TO_DATE(datepicker, '%c/%d/%Y'))
 WHERE datepicker RLIKE '^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$';

现在,您的datepicker列中应该有了正确的字符串格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65999675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档