繁体   English   中英

VARCHAR到DATE-MySQL

[英]VARCHAR to DATE - MySQL

我对数据库世界有点陌生,并且在我的工作中陷入了数据库中应该是DATETIME或TIMESTAMP或与日期相关的任何列的所有列的问题:VARCHAR(250)例如:201610251557。

我的问题是,有一种方法可以更改列的日期,而不会丢失该列上的值?

我已经尝试更改列结构,但是它将每个值都更改为0000-00-00 00-00。

您可以看一下str_to_date; 它的操作如下:

SELECT STR_TO_DATE('201610251557', '%Y%m%d%H%i');

使用该iso格式的输出,也许您可​​以像这样更新您的列:

update my_table set datecol = STR_TO_DATE(datecol, '%Y%m%d%H%i');

最安全的情况是:

  1. 添加具有正确类型的新字段
  2. 更新数据,直到为新的字段填充所有行的适当数据为止
  3. (可选)删除(或出于存档目的重命名)旧字段
  4. (可选)将新字段重命名为原始字段的名称

您可以使用str_to_date()函数创建另一个表,然后将以前的重命名新表删除为先前的表,或将其恢复为原始表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM