【发布时间】:2021-02-01 20:27:07
【问题描述】:
我有一个 mysql 列“datepicker”,我一直以这种格式“m/d/Y”存储日期,现在我想将现有数据更改为“d-m-Y”。是否有一个 UPDATE 命令可以快速查找所有匹配项,而无需为每个日期创建查询?
示例:
UPDATE `signup` SET `datepicker` = '18-12-2020' WHERE `datepicker` = '12/18/2020';
谢谢
【问题讨论】:
-
不要将日期存储为字符串。 MySQL 有一个非常好的数据类型:
DATE。 -
如果您的数据是字符串并且您想要更改这些字符串,您需要编写字符串操作逻辑来执行该更改。如果您的数据是实际日期值(列数据类型
DATE),那么您不需要(或不想)这样做。你能澄清一下问题吗? -
提示:MySQL 和大多数 SQL 数据库一样,更喜欢ISO-8601 date format,
YYYY-MM-DD。不要使用d-m-Y。转换它。使用DATE或DATETIME列来存储这些值。d-m-Y作为一种格式完全没用。排序后,您最终会在 2 月 1 日之后得到 1 月 10 日,这是假设它实际上不是 10 月 1 日和 1 月 2 日。 -
所以也许可以更改 TYPE,并进行 DATE_FORMAT 转换,然后在脚本的其余部分调整该字段的格式?
标签: mysql date datetime datepicker format