[英]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');
最安全的情况是:
您可以使用str_to_date()函数创建另一个表,然后将以前的重命名新表删除为先前的表,或将其恢复为原始表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.