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的列的內容不是公認的日期格式 –
當原型設計 - 需要快速和骯髒的東西時。現在,我需要優化應用程序。 –