Согласно тому, что вы спрашиваете, вы можете сделать что-то вроде этого (для синтаксиса IF)
SELECT
first_name, last_name, email_address,
IF(NOW() > date_of_registration + INTERVAL 30 DAY, 'paid', 'free') as status
FROM users WHERE id = XX
Конечно, выберите нужные поля и приспособьте предложение WHERE к вашим потребностям.
У вас будет значение статуса, которое будет содержать «платный» или «бесплатный»
!!! НО !!! это, вероятно, не то, что вы хотите с логической точки зрения. Фактически предыдущий запрос возвращает «оплачено», если учетная запись старше 30 дней. Вы должны проверить account_type в вашей обработке после.
Я бы предложил вам добавить поле available_until:
- user register => account_type = "free", available_until = NOW () + 30d
Если пользователь платит в течение 30 дней.
После оплаты SET account_type = "paid" и available_until = {раз, когда вы хотите}
Теперь у вас есть только возможность проверить, доступен ли аккаунт available_until после текущего дня, и вас не интересует тип аккаунта.