gpt4 book ai didi

sql - Oracle SQL ,如何使用当前日期 - 指定日期

转载 作者:行者123 更新时间:2023-12-04 14:03:15 32 4
gpt4 key购买 nike

为了获取当前日期,我使用这个..

select extract(year from sysdate) from dual;

为了获取我的数据库保存的日期,我使用这个..
select extract(year from startdate) from staff;

但是现在我正在尝试通过使用更新员工内部的现场调用 serviceYears
current year - year of start date
获得员工 promise 工作的年数。我如何实现它..

我正在使用 oracle sql

谢谢!

我试着用
SQL> select dual.sysdate-staff.startdatefrom dual,staff;

select dual.sysdate-staff.startdatefrom from dual,staff
*
ERROR at line 1:
ORA-01747: invalid user.table.column, table.column, or column specification

我也试过
select SYSDATE-to_date('01-jan-2007','dd-mon-yyyy') from dual;

But it return me
SYSDATE-TO_DATE('01-JAN-2007','DD-MON-YYYY')
--------------------------------------------
2136.93719

我如何获得年份?

最佳答案

你可以这样做

UPDATE STAFF
SET serviceYear = ROUND((sysdate - startDate)/365)

前任:
select ROUND((sysdate - to_date('01-JAN-2007','DD-MON-YYYY'))/365) 
from dual; -- returns 6


select ROUND((sysdate - to_date('01-JAN-2005','DD-MON-YYYY'))/365,2)
from dual; -- returns 7.85

更新:
SELECT 
FLOOR((SYSDATE - TO_DATE('01-JAN-2005','DD-MON-YYYY'))/365) YEARDOWN,
CEIL((SYSDATE - TO_DATE('01-JAN-2005','DD-MON-YYYY'))/365) YearUP
FROM DUAL;

关于sql - Oracle SQL ,如何使用当前日期 - 指定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13253009/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com