MySQL表有2列 - STARTDATE日期和结束日期日期格式 - DD-MM-YYYY,以YYYY-MM-DD
他们举行日期的格式如下:22-01-2016
当我样机,我用了MediumText。
现在,我想切换到日期格式。 PHPMyAdmin中的默认日期格式为YYYY-MM-DD
如果将列切换为日期,我的数据将变成0000-00-00。
使用PHP或MySQL,如何在返回到PHPMyAdmin之前将数据重新格式化以将列切换为日期格式?
MySQL表有2列 - STARTDATE日期和结束日期日期格式 - DD-MM-YYYY,以YYYY-MM-DD
他们举行日期的格式如下:22-01-2016
当我样机,我用了MediumText。
现在,我想切换到日期格式。 PHPMyAdmin中的默认日期格式为YYYY-MM-DD
如果将列切换为日期,我的数据将变成0000-00-00。
使用PHP或MySQL,如何在返回到PHPMyAdmin之前将数据重新格式化以将列切换为日期格式?
您可以使用字符串到日期的功能改变其结构之前更新列中的数据
UPDATE table SET dateColumn = STR_TO_DATE(dateColumn, '%d-%m-%Y');
它会将DD-MM-YYYY格式的日期转换为YYYY-MM-DD。之后,您可以将列的结构更改为DATE
不错的答案Jerko – Drew
最简单,最可靠的方法是分裂的日期,并重新排列它们反过来:
$parts = explode('-', $olddate);
$newdate = sprintf('%04d-%02d-%02d', $parts[2], $parts[1], $parts[0]);
您是否使用VARCHAR或DATE数据类型在数据库中存储'startdate'和'enddate'? – lad2025
不要使用文本格式以任意格式存储日期.....首先在日期数据类型中存储日期;但是MySQL不能简单地让你将该列更改为日期,因为作为varchar的列的内容不是公认的日期格式 –
当原型设计 - 需要快速和肮脏的东西时。现在,我需要优化应用程序。 –