Я кодирую для поиска данных, сравнивая dateTime
. В веб-форме ввод значения пользователя 2012-06-04
магазина в $_REQUEST['dateSearch']
. Я создаю dateTime
объект от:Формат 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%'
";
все в порядке, но я не уверен, что MySQL использовать только во все дни один dateTime
формат Y-m-d H:i:s
. Здесь $dateParam = $dateObj->format("Y-m");
Я установил формат по умолчанию «Y-m». Не меняется ли формат по умолчанию? Я не хочу жесткий формат Y-m-d H:i:s
в коде, а не, я думаю, лучше получить строку формата из системы для использования. Как получить стандартную строку dateTime
из mySQL ???
BTW, 'LIKE '$ dateParam%' 'является довольно неэффективный метод поиска, так как он выполняет поиск путем сравнения текстовых значений. 'ГДЕ ГОД (дата) = 2012 И МЕСЯЦ (дата) = 6', вероятно, будет более результативным, поскольку он позволяет MySQL использовать собственный формат даты. – deceze