sql - Difference in years between two dates -
i have table in postgresql has column datatype timestamp named birthdate, possible write sql statement return difference in years birthdate stored in table , current date? how done? server postgresql
this have tried giving me syntax error @ second select
select datediff(yy, now(), select birthdate match match_id = '550856d8560a64ed180416d1556f5435f4bb054c68930040')
there number of things wrong here.
select datediff ^^^^ postgresql doesn't have datediff function. regress-> \df datediff list of functions schema | name | result data type | argument data types | type --------+------+------------------+---------------------+------ (0 rows) i think want - operator, extract function, justify_interval , to_char function. also, write current_timestamp instead of now(), it's standard spelling.
also this:
(yy, now(), select birthdate ...) ^^^ is syntax error because didn't wrap subquery in (parentheses), should be:
(yy, now(), (select birthdate ...)) but in case no subquery necessary because can flatten outer query, gives when subquery fixed nothing else is:
select datediff(yy, now(), birthdate) match match_id = '550856d8560a64ed180416d1556f5435f4bb054c68930040'; and date subtraction:
regress=> select extract(year justify_interval(current_timestamp - date '2008-02-01')); date_part ----------- 7 (1 row) giving like:
select extract(year justify_interval(current_timestamp - birthdate)) match match_id = '550856d8560a64ed180416d1556f5435f4bb054c68930040';
Comments
Post a Comment