Как я могу извлечь месяц с SQL-запросом в mysql. Формат даты: dd/mm/yyyy.extract month from mysql
MONTH(datecol) = $month // this does not work.
Однако если изменить формат даты yyyy-mm-dd
это работает, но это не вариант.
Как я могу извлечь месяц с SQL-запросом в mysql. Формат даты: dd/mm/yyyy.extract month from mysql
MONTH(datecol) = $month // this does not work.
Однако если изменить формат даты yyyy-mm-dd
это работает, но это не вариант.
Это выражение будет извлекать часть строки, которая появляется между первой и второй косой чертой.
SUBSTRING_INDEX(SUBSTRING_INDEX('25/07/2013' ,'/',2),'/',-1)
вернется '07'
Чтобы получить это преобразуется в числовой, добавьте ноль к нему,
SUBSTRING_INDEX(SUBSTRING_INDEX('25/07/2013' ,'/',2),'/',-1) + 0
возвращает числовое значение 7
ПРИМЕЧАНИЯ
Это выражение будет работать с любым строковым значением, а не только с строками, представляющими допустимую дату в указанном формате. Например:
SUBSTRING_INDEX(SUBSTRING_INDEX('dd/mm/yyyy' ,'/',2),'/',-1)
вернется 'mm'
Если только один слэш находится в строке, это будет возвращать часть следующей косой черты. Если в строке нет косой черты, это вернет всю строку.
Если вы намерены подтвердить, что строка представляет действительное значение даты, в указанном формате, то функция STR_TO_DATE()
может использоваться для преобразования строки в DATE
. Возврат из этого выражения можно использовать в качестве аргумента для любой из функций MySQL, которые принимают аргумент DATE
, такой как функция MONTH()
в вашем примере вопроса.
Вы можете разобрать дату в любом формате в значение даты SQL с помощью str_to_date
. Например:
select month(str_to_date('25/07/2013', '%d/%m/%Y'));
Почему бы не сделать это? o_o – Brewal
сделать это опцией – Strawberry
Если я сказал, что это не вариант, это не вариант простой. Мы не контролируем поток данных в базу данных только тогда, когда они были написаны. Формат – anonamas