i当前正在使用一个具有一个月列和一年列的数据库。两者都是类型的文本。月份存储为"一月",并且按照您的期望," 2016"。
有什么建议将它们连接并将其转换为日期类型?
您可以使用这样的查询。您只需要将字符串更改为您的现场名称:
示例
select STR_TO_DATE(concat('2016',' ','April','1'), '%Y %M %D');
结果
2016-04-01
$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;
在DB中创建一个新的Feld,并将其插入DB。也许将其包裹在功能中,然后将其放在一段时间内。?
这对我有用:
select convert(date,(concat('January',' ','2016')))