mysql - 将 varchar 转换为日期显示 0000-00-00

标签 mysql

我正在尝试将我的专栏转换为 DATE 格式。 它目前在 varchar 中并显示为:12/06/2013

我运行以下查询;

UPDATE dispatch
   SET dispatchdate = DATE_FORMAT(STR_TO_DATE(dispatchdate, '%d/%m/%Y'), '%d-%m-%Y');

ALTER TABLE dispatch
      CHANGE dispatchdate dispatchdate date;

但是在运行这个查询之后,它显示我的数据为:0000-00-00

我正在尝试更改它,使其显示为 DD-MM-YYYY 而不是 YYYY-MM-DD

最佳答案

0000-00-00 是 mysql 显示“零”或“虚拟”的特殊方式 date .

像 mysql 的许多怪癖一样,您要学会忍受它,我建议您:

UPDATE dispatch SET
dispatchdate = null
WHERE dispatchdate = '0000-00-00'

或设置为最适合您的值。

关于mysql - 将 varchar 转换为日期显示 0000-00-00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17825449/

相关文章:

php - 关于 mysql_query -> mysql_fetch_array() 过程

mysql - 对两列值组合的唯一约束

php - MySQL PHP : Return rows based on a column

javascript - HTML 表格中的 AngularJS

python - 如何在线托管数据库

mysql - 如何解决经常死锁的 MySQL 表?

mysql: 对 information_schema 的访问被拒绝

mysql 查询在较新的 mysql 环境中不起作用

mysql - MySQL 中的慢查询 - 字典数据库

mysql - 如何使用 MySQL 通过 WHERE 来选择第一个可用的 id?