выберите, где возраст между 35 — 50 годами от даты рождения

#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