MySQL форматы даты - сложность запроса на дату - PullRequest
0 голосов
/ 28 марта 2012

Я хочу выполнить такой простой запрос в моем PHP,

SELECT noslots FROM calender WHERE coursedate = '01-01-2012';

, однако мои даты хранятся в базе данных в стандартном формате YYYY-MM-DD, поэтому, очевидно, я не получаю никаких результатов.

Я пытался прочитать руководство, но для новичка трудно извлечь правильную информацию

спасибо за любую помощь, которую вы можете предложить!

[=

Ответы [ 3 ]

3 голосов
/ 28 марта 2012

Вы можете использовать -

SELECT noslots
FROM calender
WHERE coursedate = STR_TO_DATE('01-01-2012', '%d-%m-%Y');

Вам может потребоваться переключить% d и% m в зависимости от формата даты.

1 голос
/ 28 марта 2012

Единственный поддерживаемый формат даты / времени MySQL - yyyy-mm-dd hh:mm:ss. Вы не можете передать любую другую строку и правильно проанализировать ее как дату. Вы должны правильно отформатировать даты в формате mysql, что означает, что вам нужно будет передать в запросе 2012-01-01.

0 голосов
/ 28 марта 2012

Я бы использовал PHP date() и strtotime() функции:

mysql_query("SELECT `noslots` FROM `calender` WHERE `coursedate` = '" . date('Y-m-d H:i:s', strtotime('01-01-2012')) . "'");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...