PostgreSQL 时间函数操作
现在有一个需求,就是要获取给定时间所在月份一共有多少天。
SELECT EXTRACT(DAY FROM (DATE_TRUNC('MONTH', TIMESTAMP '2023-12-01 00:00:00' + interval '1 month') - interval '1 day')) AS days_in_month;
31
现在有一个需求,我已经有一个函数 FUNCTION 了,这个函数会返回一个字符串值,其实是一个整数数值,现在我需要获取当前时间减去函数值这么多个小时后的时间。
计算当前时间减去一个函数获取的值的时间
SELECT NOW()::TIMESTAMP(0) - FUNCTION(parameter)::INT * INTERVAL '1 hour'
现在有一个需求,有一个用户表,需要根据用户的出生年月去计算用户的年龄。
SELECT birth,
EXTRACT(YEAR FROM age(now(),birth)) AS age,
EXTRACT(YEAR FROM age(birth)) AS ages
FROM sys_users;
现在我说说直接 age 和用 age 带两个参数的区别:第一个 age 使用两个时间相减,用的是当前时间。只有一个参数的 age 其实也是用的时间相减的方法,不过他用的时间是当前日期的午夜时分,第一个用法更加准确一些。