我正在編碼以便通過比較dateTime
來搜索數據。在網絡表單中,用戶輸入值2012-06-04
存儲在$_REQUEST['dateSearch']
中。我從創建dateTime
對象:mySQL中的默認日期時間格式
$dateObj = date_create_from_format("Y-m-d",$_REQUEST['dateSearch']);
$dateParam = $dateObj->format("Y-m");
然後我用$dateParam
在SQL查詢來尋找數據
$sql = "
SELECT *
FROM `temp` as `t`
WHERE `t`.`date` LIKE '$dateParam%'
";
一切都OK了,但我不知道MySQL的送花兒給人僅使用一個dateTime
格式Y-m-d H:i:s
。 在這裏,$dateParam = $dateObj->format("Y-m");
我設置的默認格式是「Y-m」。默認格式是否永遠不會改變?我不想在代碼中使用硬編碼格式Y-m-d H:i:s
,而不是,我認爲從系統中獲取格式字符串會更好。如何從mySQL獲取默認格式字符串dateTime
?
順便說一句,'LIKE '$ dateParam%''是一個非常低效的搜索方法,因爲它通過搜索比較文本值。 'WHERE YEAR(date)= 2012 AND MONTH(date)= 6'可能會更高性能,因爲它允許MySQL使用其原生日期格式。 – deceze