#mysql
#mysql
Вопрос:
Привет, я хочу выбрать данные из таблицы, где возраст между 30-50 годами из столбца даты рождения.
SELECT * FROM
(SELECT FLOOR((CAST (GetDate() AS INTEGER) - CAST(dob1 AS INTEGER)) / 365.25) AS Age, *
from tbl_travelins) as tbl_travelins
WHERE Age >= 30 AND Age < 50
Комментарии:
1. Какие у вас проблемы?
2. запрос не работает
3. У вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с ‘INTEGER) — ПРИВЕДЕНИЕ (dob1 КАК ЦЕЛОЕ ЧИСЛО)) / 365.25) КАК возраст, * из tbl_travelins) как tbl’ в строке 1
Ответ №1:
Попробуйте использовать TIMESTAMPDIFF
:
SELECT *
FROM tbl_travelins
WHERE TIMESTAMPDIFF(YEAR, dob1, CURDATE()) BETWEEN 30 AND 49;
Комментарии:
1. Я не вижу ваших фактических данных, поэтому ничем не могу помочь. Но обратите внимание, что в вашем
WHERE
предложении должны использоваться цифры, а не текст, т.Е.BETWEEN 0 AND 54