запустите этот запрос перед вашим запросом:
SET @@ global.innodb_large_prefix = 1;
это увеличит предел до 3072 байта
.
Как было сказано в 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()
.
%d/%m/%Y
так, как STR_TO_DATE('31/11/1015', '%d/%m/%Y')
. Помните, что выход будет в формате YYYY-MM-DD
в виде типа данных DATE
.
– fyrye
4 August 2016 в 05:58
Вот еще два примера.
Чтобы вывести день, месяц и год, вы можете использовать:
select STR_TO_DATE('14/02/2015', '%d/%m/%Y');
Что производит:
2015-02-14
blockquote>Чтобы также вывести время, вы можете использовать:
select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');
Что производит:
] 2017-02-14 23:38:12
blockquote>
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