Oracle 11g で 2 つの日付の間の整数の日数を見つけようとしています。
することで近づくことができます
select sysdate - to_date('2009-10-01', 'yyyy-mm-dd') from dual
しかし、これは間隔を返します。これを整数にキャストすることに成功していません。
編集: どうやら 10g では、これは日数を整数として返します。
または、次のようにすることもできます。
select trunc(sysdate) - to_date('2009-10-01', 'yyyy-mm-dd') from dual
これは丸一日の NUMBER を返します:
SQL> create view v as
2 select trunc(sysdate) - to_date('2009-10-01', 'yyyy-mm-dd') diff
3 from dual;
View created.
SQL> select * from v;
DIFF
----------
29
SQL> desc v
Name Null? Type
---------------------- -------- ------------------------
DIFF NUMBER(38)
私は自分でそれを理解しました。私は欲しい
select extract(day from sysdate - to_date('2009-10-01', 'yyyy-mm-dd')) from dual
次を使用して試すことができます:
select trunc(sysdate - to_date('2009-10-01', 'yyyy-mm-dd')) as days from dual
This will work i have tested myself.
It gives difference between sysdate and date fetched from column admitdate
TABLE SCHEMA:
CREATE TABLE "ADMIN"."DUESTESTING"
(
"TOTAL" NUMBER(*,0),
"DUES" NUMBER(*,0),
"ADMITDATE" TIMESTAMP (6),
"DISCHARGEDATE" TIMESTAMP (6)
)
EXAMPLE:
select TO_NUMBER(trunc(sysdate) - to_date(to_char(admitdate, 'yyyy-mm-dd'),'yyyy-mm-dd')) from admin.duestesting where total=300