我尝试在SQL Oracle中使用TRUNC,但不起作用。我犯了错误?选择TRUNC(调用日日期-出生日期)/ 365作为员工年龄,从双
yfjy0ee71#
如果要计算两个日期之间的天数,然后除以365,再向下舍入,可以使用:
SELECT TRUNC( (SYSDATE - BIRTHDATE) / 365 ) AS EMP_AGE FROM employees;
一年中并不总是有365天,所以你的计算会有点错误。使用以下公式计算月数会更准确:
SELECT TRUNC( MONTHS_BETWEEN(SYSDATE, birthdate) / 12 ) AS emp_age FROM employees;
91zkwejq2#
请参阅下面的示例来完成您要执行的操作。只需将YOUR_TABLE替换为所需的表,并将YOUR_BIRTHDAY_COLUMN替换为查询表中包含出生日期的列的名称。
select FLOOR((trunc(sysdate) - (trunc(YOUR_BIRTHDAY_COLUMN)))/365) as AGE from YOUR_TABLE;
2条答案
按热度按时间yfjy0ee71#
如果要计算两个日期之间的天数,然后除以365,再向下舍入,可以使用:
一年中并不总是有365天,所以你的计算会有点错误。
使用以下公式计算月数会更准确:
91zkwejq2#
请参阅下面的示例来完成您要执行的操作。只需将YOUR_TABLE替换为所需的表,并将YOUR_BIRTHDAY_COLUMN替换为查询表中包含出生日期的列的名称。