带斜杠的mysql更新日期时间日期
如何在mysql中更新DATETIME列 尝试使用:(和许多其他) 我并不关心数据库中日期的格式,但是需要能够用01/01/2001 01:01格式更新当前行带斜杠的mysql更新日期时间日期,mysql,centos,mariadb,Mysql,Centos,Mariadb,如何在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; +
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 | |
+----------------+-----------------+------+-----+-------------------+-----------------------------+
您必须使用以下格式:
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
,您必须使用以下格式:
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
@forpas我需要一个使用“1/9/2020 13:32”的命令,我不想转换数千个dates@forpasDatetime在单引号字符串中有一个非常特定的格式。此外,您的注释没有考虑输入值。@PanChristensen该注释应该删除,我将删除它。当我读到这个问题时,我的第一个想法是OP想用类似varchar date的格式化值更新列,这就是格式的含义,@forpas我需要一个使用'1/9/2020 13:32'的命令我不想转换数千个dates@forpasDatetime在单引号字符串中有一个非常特定的格式。此外,您的注释没有考虑输入值。@PanChristensen该注释应该删除,我将删除它。当我读到这个问题时,我的第一个想法是OP想用一个类似varchar date的格式化值来更新列,这就是格式的含义,MariaDB[ddcontactsdb]>select id,replydate from contacts,其中id=3;+------------------++|id | replydate |+---------+| 3 | NULL |+---------+MariaDB[ddcontactsdb]>选择id,从id=3的联系人中replydate;+----+----++id | replydate |+---------+| 3 | NULL |+----+-----------+