Рассчитайте дату с использованием postgresql и укажите количество лет - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть два значения даты ввода, и я хотел бы рассчитать разницу между этими датами (без лет) и сохранить ее как возраст

Я пытался использовать приведенную ниже команду psql. Однако это приводит к десятичной форме. Как я могу округлить это, и есть ли другой элегантный способ написать это?

select icu.intime, p.dob, EXTRACT('epoch' from icu.intime - p.dob) / 60.0 / 
60.0 / 24.0 / 365.242 as age from patients p inner join 
icustays icu on p.subject_id = icu.subject_id

Несмотря на то, что я получил значение возраста, я хотел бы округлить его. enter image description here

1 Ответ

1 голос
/ 01 апреля 2019

используйте функцию возраста

select age(intime,dob)

, поэтому в вашем случае это будет

select icu.intime, p.dob, age(icu.intime,p.dob) as number_age from patients p inner join 
icustays icu on p.subject_id = icu.subject_id

используйте год извлечения, если вам нужно всего лишь год

EXTRACT(YEAR from (age(icu.intime,p.dob)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...