Поле age_text хранится как текст и иногда содержит пробелы, например 18. Вы хотите отобрать пользователей 18+ через WHERE. Какой вариант наиболее корректен?

AWHERE age_text >= 18
BWHERE LOWER(age_text) >= '18'
CWHERE CAST(TRIM(age_text) AS int) >= 18
DWHERE TRIM(age_text) >= 18
Правильный ответ. Если сравнение должно быть числовым, приводите к числовому типу после простой очистки строки.

Разбор

Сравнение строк и чисел либо даст ошибку, либо будет работать не так, как вы ожидаете. Если возраст хранится текстом, надежнее сначала убрать лишние пробелы TRIM(...), а затем привести к int через CAST. Тогда WHERE ... >= 18 будет числовым и понятным.

Проверь себя · 1/3разбор после ответа
В таблице products категория хранится как Books, books, BOOKS. Вы хотите отфильтровать все варианты категории «books» в одном запросе. Какое условие в WHERE наиболее надежно?
Тренировать SQL в Telegram

Ещё вопросы по теме «Строки и приведение типов»