как получить конкретный день месяц или год от даты столбца

0

У меня есть этот столбец с именем PODate с датой форматирования.

  1. "2018-09-15"
  2. "2018-09-16"
  3. "2018-09-17"
  4. "2018-10-19"
  5. "2018-10-20"

Я хочу получить специальный день, месяц или даже год от даты в столбце. Но я не знаю, какую функцию использовать для запроса.

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

Вывод будет таким, как если бы я выбрал 9-й месяц, тогда он вернет дату только 9-го месяца, то есть.

  1. "2018-09-15"
  2. "2018-09-16"
  3. "2018-09-17"

благодарю вас

  • 0
    Вы предлагаете несколько разных типов вывода. Можете ли вы отредактировать свой вопрос и показать желаемый результат?
Теги:

3 ответа

0

Вы можете попробовать это.

SELECT * FROM yourtable
WHERE CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, date))) = '2018-09-15'

Пожалуйста, проверьте это обсуждение

0

Вы можете использовать регулярные выражения в MySQL. Смотрите документацию здесь.

SELECT * FROM MyTable WHERE date REGEXP '^.{5}09.*'

Это вернет все записи из вашей таблицы, где шестой и седьмой символы специально обозначены как "09", т.е. в вашем случае он вернет все записи из вашей таблицы, где ваша дата где-то в сентябре.

Разбивая его, ^ отмечает, что мы хотим начать смотреть в начале строки. . обозначает произвольный символ, а {5} означает, что все, что произошло до того, как его нужно повторить пять раз, т .{5} е .{5} обозначает пять произвольных символов. .* Обозначает произвольное число (возможно, ноль) произвольных символов, чтобы следовать.

Подобные выражения могут быть созданы для других сценариев.

0

Вы можете использовать функцию Extract..

Определить:

Функция EXTRACT() извлекает деталь из указанной даты

Пример:

За Month

SELECT EXTRACT(MONTH FROM "2018-09-15");

На Week

SELECT EXTRACT(WEEK FROM "2018-09-16");

Может извлекать:

  1. МИНУТЫ
  2. ЧАС
  3. ДЕНЬ
  4. НЕДЕЛЮ
  5. МЕСЯЦ
  6. КВАРТАЛ
  7. ГОД
  8. SECOND_MICROSECOND
  9. MINUTE_MICROSECOND
  10. MINUTE_SECOND
  11. HOUR_MICROSECOND
  12. HOUR_SECOND
  13. HOUR_MINUTE
  14. DAY_MICROSECOND
  15. DAY_SECOND
  16. DAY_MINUTE
  17. DAY_HOUR
  18. ГОД МЕСЯЦ

Вы можете прочитать здесь больше для документации Функция Extract()

РЕДАКТИРОВАТЬ:

Вы можете использовать эту Extract Function where условие для вашего случая:

Пример:

select
    your_date
from
    your_table
where
    extract(MONTH FROM your_date) = '9'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню