Как преобразовать строку в дату в MySQL? - PullRequest
127 голосов
/ 05 марта 2011

У меня есть столбец string, который действует как date, и я хочу выбрать его как date.

Возможно ли это?

Мой пример данных формата будет;month/day/year -> 12/31/2011

Ответы [ 4 ]

227 голосов
/ 05 марта 2011

Как было сказано в MySQL Используя строковый столбец с текстом даты в качестве поля даты , вы можете сделать

SELECT  STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM    yourtable

Вы также можете обрабатывать эти строки даты в предложениях WHERE,Например,

SELECT whatever
  FROM yourtable
 WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAYS

Таким способом вы можете обрабатывать все виды макетов даты / времени.Пожалуйста, обратитесь к спецификаторам формата для функции DATE_FORMAT() , чтобы увидеть, что вы можете поместить во второй параметр STR_TO_DATE().

42 голосов
/ 05 марта 2011
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
8 голосов
/ 17 февраля 2017

Вот еще два примера.

Чтобы вывести день, месяц и год, вы можете использовать:

select STR_TO_DATE('14/02/2015', '%d/%m/%Y');

, который производит:

2015-02-14

Чтобы также вывести время, вы можете использовать:

select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');

, который производит:

2017-02-14 23: 38: 12

8 голосов
/ 23 февраля 2014

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
используйте приведенную выше страницу для ссылки на дополнительные функции в MySQL

SELECT  STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM    table

скажем, например, используйте приведенный ниже запрос, чтобы получить вывод

SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table

Для формата String используйте ссылку ниже

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...