【问题标题】:mysql update datetime date with slashesmysql用斜杠更新日期时间日期
【发布时间】:2020-01-11 20:32:12
【问题描述】:

如何更新 mysql 中的 DATETIME 列

尝试使用:(以及许多其他)

我并不关心数据库中日期的格式,但需要能够使用 01/01/2001 01:01 格式更新当前行

update contacts set replydate=STR_TO_DATE('1/9/2020 13:32', '%m/%d/%Y hh:mm') where id='3';

日期不是当前日期,这些都是电子表格中不同的日期,都具有相同的格式。

MariaDB [ddcontactsdb]> describe contacts;
+----------------+-----------------+------+-----+-------------------+-----------------------------+
| Field          | Type            | Null | Key | Default           | Extra                       |
+----------------+-----------------+------+-----+-------------------+-----------------------------+
| replydate      | datetime        | YES  |     | NULL              |                             | 
+----------------+-----------------+------+-----+-------------------+-----------------------------+

【问题讨论】:

  • @forpas 我需要一个将使用 '1/9/2020 13:32' 的命令我不想转换数千个日期
  • @forpas Datetime 在单引号字符串中确实有一个非常具体的格式。此外,您的评论没有考虑输入值。
  • @PanChristensen 该评论应该被删除,我将删除它。当我阅读这个问题时,我的第一个想法是 OP 想要使用类似 varchar 日期的格式化值来更新列,这就是 format, 的含义

标签: mysql centos mariadb


【解决方案1】:

您必须使用这种格式:

update contacts set replydate=STR_TO_DATE('1/9/2020 13:32', '%m/%d/%Y %H:%i') where id='3';

因为m 代表月份,i 代表分钟,H 代表小时 00-23

【讨论】:

  • MariaDB [ddcontactsdb]> select id,replydate from contacts where id=3; +----+------------+ |编号 |回复日期 | +----+------------+ | 3 |空 | +----+------------+
猜你喜欢
  • 1970-01-01
  • 2022-07-31
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-16
  • 1970-01-01
  • 2013-06-16
相关资源
最近更新 更多