Мне нужно проверить записи, сделанные в последние дни «x» (пример 30 дней), и не может заставить запрос работать. Это то, что я использую:Неисправность в диапазонах дат
SELECT CAL_OWNER,
CAL_TITLE,
FROM_UNIXTIME (CAL_CREATED, "%m-%d-%y") AS CREATED,
FROM_UNIXTIME (RANGE_START, "%Y-%m-%d") AS DATE2BESEEN,
CASE CAL_REFERRAL_TYPE
WHEN 1 THEN 'NoReferral'
WHEN 2 THEN 'CareyGuide'
WHEN 3 THEN 'Education'
WHEN 4 THEN 'Employment'
WHEN 5 THEN 'Housing'
WHEN 6 THEN 'Medical'
ELSE 'NA'
END
AS REFERRALS
FROM EGW_CAL
WHERE CAL_CREATED BETWEEN (NOW() - '30 day') AND NOW()
ORDER BY REFERRALS ASC;
Если я закомментировать «ГДЕ RANGE_START ... линия запрос работает нормально, но тянет все данные Однако, если я запускаю полный запрос, это не ошибка, но результатов нет (у меня есть 4 записей в столбце cal_created в течение последних 3-х недель).
Если кто-то может помочь я действительно ценю это
Когда я использую любое из 3, я получаю это, это не ошибка, но в результате MySQL возвращает пустой набор результатов (т. Е. Нулевые строки). (Query took 0.0077 сек) – Detox
@Detox Вы пытались CURDATE()? –
@Detox не уверен, как NOW() выдает ошибку ... я добавил ссылку в свой ответ. попробуйте использовать другой формат даты .. см. мой отредактированный ответ –