Сравнение меток времени и дат в MySQL - неоднозначная ошибка
Это продолжение вопроса, с которым я получил помощь вчера здесь, но это немного другая проблема - я пытаюсь проверить, совпадает ли отметка времени mysql записи db с 7 днями в прошлом (игнорируя часы, секунды и т. д.), но я получаю "Столбец 'import_date', где предложение неоднозначно", кто-нибудь может увидеть проблему?
Это сравнение даты: отметка времени, например, 2010-07-13 11:04:27
WHERE date_format( `import_date`, "%Y-%m-%d" ) =
date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" )
1 ответ
Решение
Что касается вашей неоднозначной ошибки, вы должны иметь 2 таблицы в запросе с import_date
колонка. Вам нужно будет использовать
WHERE date_format( `YourTableName`.`import_date`, "%Y-%m-%d" ) =
date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" )
Просто добавьте, что ваш запрос выше будет неэффективным, так как он не изношен
Я не достаточно знаком с MySQL, чтобы точно знать, что он делает, но определенно вам лучше переписать его как
WHERE `YourTableName`.`import_date` = x
или же
WHERE `YourTableName`.`import_date` between x and y
при необходимости