将Mysql文本转换为日期
问题描述:
我目前正在使用具有月份列和年份列的数据库。两者都是文本类型。月份存储为'1月',年份的存储方式与您期望的'2016'相同。将Mysql文本转换为日期
任何有关将这些连接起来并将它们转换为日期类型的建议?
答
您可以使用这样的查询。你只需要改变串到你的字段名:
样品
select STR_TO_DATE(concat('2016',' ','April','1'), '%Y %M %D');
结果
2016-04-01
答
这个工作对我来说:
select convert(date,(concat('January',' ','2016')))
答
$months = [
'january' => 1,
'february' => 2,
'march' => 3,
'april' => 4,
'may' => 5,
'june' => 6,
'july' => 7,
'august' => 8,
'september' => 9,
'october' =>10,
'november' =>11,
'december' =>12
];
$year = 2016;
$month_text = 'january';
$day = 1;
if($months[strtolower($month_text)]<10){
$month = '0'.$months[strtolower($month_text)];
}else{
$month = $months[strtolower($month_text)];
}
if($day<10){
$day = '0'.$day;
}else{
$day = $day;
}
echo $year.'-'.$month.'-'.$day;
在数据库创建一个新的费尔德型日期,并将其插入到数据库。也许包装在一个函数,并把它放在一个while循环..?
你期望recomendations? –
是月份还是年份分列或单列? – Balan
显示正确的数据样本和预期结果 – scaisEdge