Как преобразовать дату строки из базы данных? [Дубликат]

запустите этот запрос перед вашим запросом:

  SET @@ global.innodb_large_prefix = 1;   

это увеличит предел до 3072 байта .

99
задан Berkay Turancı 16 January 2013 в 14:38
поделиться

4 ответа

Как было сказано в 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().

190
ответ дан bluish 17 August 2018 в 09:11
поделиться
  • 1
    Я думаю, что это должен быть INTERVAL 7 DAY вместо DAYS – Feras Odeh 8 February 2016 в 19:14
  • 2
    У меня есть столбец символов, например «dd-mmm-yyyy». формат. Как я запрашиваю в & quot; dd-mm-yyyy & quot; формат? – MAX 2 May 2017 в 14:38
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
36
ответ дан Bala R 17 August 2018 в 09:11
поделиться
  • 1
    Что такое дата хранится в формате DD / MM / YYYY, например 31/11/1015? – Vipul Hadiya 26 May 2016 в 11:50
  • 2
    @VipulHadiya изменит строку формата даты на %d/%m/%Y так, как STR_TO_DATE('31/11/1015', '%d/%m/%Y'). Помните, что выход будет в формате YYYY-MM-DD в виде типа данных DATE. – fyrye 4 August 2016 в 05:58
  • 3
    Только для кода ответы являются низкими значениями для StackOverflow. Пожалуйста, улучшите этот правильный ответ. – mickmackusa 29 June 2018 в 03:53

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

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

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

5
ответ дан Obsidian Age 17 August 2018 в 09:11
поделиться

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

7
ответ дан Toni Almeida 17 August 2018 в 09:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: