Как я могу сделать правильный запрос как:Postgresql дата вычитать
UPDATE b2c SET tranche = '18 - 25'
WHERE (dateofbirth::date BETWEEN NOW()::date - 18 'year' AND NOW()::date - 25 'year')
Спасибо за помощь
Как я могу сделать правильный запрос как:Postgresql дата вычитать
UPDATE b2c SET tranche = '18 - 25'
WHERE (dateofbirth::date BETWEEN NOW()::date - 18 'year' AND NOW()::date - 25 'year')
Спасибо за помощь
dateofbirth::date BETWEEN
(NOW() - interval '25 year')::date AND
(NOW() - interval '18 year')::date
Вы можете использовать Postgres отливать синтаксис:
UPDATE b2c SET tranche = '18 - 25'
WHERE dateofbirth::date BETWEEN
NOW()::date - '25y'::interval AND
NOW()::date - '18y'::interval
select EXTRACT(year FROM age('1995-08-04'::date))::int age
Выход:
age
integer
--------
20
Таким образом, вы можете написать где состояние как ниже
UPDATE b2c SET tranche = '18 - 25'
WHERE EXTRACT(year FROM age(dateofbirth))::int >=18
AND EXTRACT(year FROM age(dateofbirth))::int <=25
Спасибо, но у меня есть 'nothink обновление', однако у меня есть в 'DateOfBirth' некоторые даты, как 1995 -08-04, 1994-08-07, 1993-11-11 ... – Macbernie
Извините, мне просто нужно было переключиться на 25 лет с 18 лет ... Я не знал, что порядок МЕЖДУНАРОДНОГО аргумента имеет значение ... – Macbernie
@Macbernie Исправлено. Даты были перевернуты. Это самый старый. –