Конвертировать даты с Mysql - PullRequest
6 голосов
/ 08 апреля 2009

у меня есть дата в этом формате

30 мая 2006 г. 12:00

есть ли в mysql эквивалент strtotime (), который позволит мне преобразовать это в дату mysql?

Ответы [ 2 ]

16 голосов
/ 08 апреля 2009

Я думаю, вы ищете функцию STR_TO_DATE. К сожалению, это не так круто, как PHP strtotime, поэтому вы должны дать ему маску формата для разбора:

mysql> SELECT STR_TO_DATE('04/31/2004', '%m/%d/%Y');
        -> '2004-04-31'

Для вашей даты, я думаю, маска будет %M %e %Y %l:%i%p, в зависимости от того, ожидаете ли вы короткие / длинные названия месяцев и дни на основе 0. На основании вашего примера это может быть:

mysql> SELECT STR_TO_DATE('May 30 2006 12:00AM', '%M %e %Y %l:%i%p');
+--------------------------------------------------------+
| STR_TO_DATE('May 30 2006 12:00AM', '%M %e %Y %l:%i%p') |
+--------------------------------------------------------+
| 2006-05-30 00:00:00                                    |
+--------------------------------------------------------+
1 row in set (0.00 sec)

Ознакомьтесь с полной таблицей ссылок для параметров маски.

2 голосов
/ 08 апреля 2009

Вы можете использовать STR_TO_DATE (http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date).

Формат должен быть примерно таким:

"%b %d %Y %l:%i%p"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...