#mysql #codeigniter
#mysql #codeigniter
Вопрос:
Я хочу сделать запрос, в котором я получаю данные о днях рождения людей в текущем месяце, у меня проблемы с MONTH () у меня это не работает, формат даты в базе данных: 18.04.1990, и я хочу сравнить, равна ли текущая дата месяца (‘m’) месяцу базы данных.
Есть предложения?
Комментарии:
1. к какому типу данных относится ваш столбец даты?? строка или дата-время?
2. Hello — это строка
Ответ №1:
вы можете попробовать это
SELECT * FROM table_name where extract(month from BirthDate) = date("m");
где date («m») возвращает текущий месяц, а дата рождения — название столбца, в котором вы сохранили дату рождения.
Ответ №2:
Попробуйте это
"select month(str_to_date(birthdate), '%Y/%m/%d')
from users
where month(str_to_date(birthdate), '%Y/%m/%d') = '$month'"
Здесь, я предполагаю, что ваш параметр делимости равен ‘/’, пожалуйста, установите ваш параметр делимости в соответствии с вашей строковой датой, т.е. 2013/05/04
или 2013,05,04
или 2013-05-04
Ответ №3:
возможно, у вас возникла какая-то проблема с преобразованием, попробуйте использовать
select month(str_to_date(my_col, '%m/%d/%Y'))
from my_table
where month(str_to_date(my_col, '%m/%d/%Y')) = month(now())
Комментарии:
1. Я получаю следующую ошибку: Неправильный подсчет параметров при вызове встроенной функции ‘str_to_date’