2010-07-13 6 views
2

это вопрос, который мне помог вчера, но это немного другая проблема. Я пытаюсь проверить, соответствует ли timestamp db-записи mysql 7 дней в прошлом (без учета часов и секунд и т. Д.), Но я получаю «Столбец« import_date », где предложение неоднозначно», может ли кто-нибудь увидеть проблему?Timestamp & Date сравнение в MySQL - неоднозначная ошибка

Это сравнение дата: Отметка, например 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") 

Просто добавить, однако, что ваш запрос выше, будет неэффективным, поскольку это не SARGABLE

Я не достаточно хорошо знаком с MySQL, чтобы точно знать, что он делает, но, безусловно, вы будете быть лучше переписать его, как

WHERE `YourTableName`.`import_date` = x 

или

WHERE `YourTableName`.`import_date` between x and y 

по необходимости

+0

+1 Звучит неплохо для меня ... –

Смежные вопросы