проблема с запросом sql для получения записей до 1 месяца с текущей даты - PullRequest
3 голосов
/ 11 марта 2020

Я использую MySQLi, и у меня есть SQL структура, такая как Это , и я хочу, чтобы все записи, срок действия которых истек до 1 месяца

, для этого я попытался

SELECT
    *
FROM
    new_domain
WHERE
    DATEPART( m, expire_date ) = DATEPART( m, DATEADD( m, -1, getdate() ) )
    AND
    DATEPART( yyyy, expire_date ) = DATEPART( yyyy, DATEADD( m, -1, getdate() ) )

но с этим я получил ошибку #1305 - FUNCTION DATEPART does not exist

Может кто-нибудь помочь мне с этим

Ответы [ 2 ]

2 голосов
/ 11 марта 2020

Я бы использовал CURDATE() И INTERVAL, если я правильно понимаю ваш вопрос: вы пытаетесь выбрать строки, срок действия которых истекает через 1 месяц или менее. Попробуйте это:

SELECT *
FROM new_domain
WHERE expire_date < CURDATE() - INTERVAL 30 DAY;
1 голос
/ 11 марта 2020

Вы можете использовать DATE_SUB (дата, единица измерения INTERVAL) . Этот тип вопроса уже был задан и ответил в StackOverflow. Пожалуйста, убедитесь, что вы ищете, прежде чем спросить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...