为了获得当前日期,我使用此..
select extract(year from sysdate) from dual;
Run Code Online (Sandbox Code Playgroud)
为了得到我的数据库保持的日期我使用这个..
select extract(year from startdate) from staff;
Run Code Online (Sandbox Code Playgroud)
但现在我正在尝试通过使用更新现场工作人员的字段调用serviceYears
current year - year of start date
获得员工承诺工作的年数.我该如何实现它..
我正在使用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
Run Code Online (Sandbox Code Playgroud)
我也试过了
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
Run Code Online (Sandbox Code Playgroud)
我怎么才能获得这一年?
你可以这样做
UPDATE STAFF
SET serviceYear = ROUND((sysdate - startDate)/365)
Run Code Online (Sandbox Code Playgroud)
例如:
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
Run Code Online (Sandbox Code Playgroud)
更新:
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69476 次 |
| 最近记录: |