Oracle 11gでは、2つの日付の間に整数の日数を見つけようとしています。Oracle 11gで2日間の日数を取得するにはどうすればよいですか?
私は
select sysdate - to_date('2009-10-01', 'yyyy-mm-dd') from dual
を行うことによって近づけることができますが、これは間隔を返し、私は整数にこれをキャストは成功していません。
編集:明らかに10gで、これは整数として日数を返します。
Oracle 11gでは、2つの日付の間に整数の日数を見つけようとしています。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')) as days from dual
奇妙な。他の回答者と同じように、私があなたの元の質問をするとき、私は間隔ではなく数字を得ます。解決策を試すと、エラーが発生します。ORA-30076:抽出ソースの抽出フィールドが無効です。これはOracle 10gにあります。どのバージョンを使用していますか? –
11g。それがそれかもしれません。ありがとうございました。 –
sysdateの代わりにsystimestampを使用すると、結果としてINTERVALを与える日付の算術ではなくタイムスタンプを実行することを意味します。しかし、私はsysdateであなたの経験を再現することはできません。 –
が必要これは私が自分自身をテストして動作します。
これは、列admitdateからSYSDATEとフェッチされた日付との差を与えるSQLは、数値を返す必要があることを
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
trunc()が機能しませんでした。私はこのエラーを持っています:矛盾したデータ型:期待されたNUMBERは、二番目の –
オハイオ州にインターバル日を持っています.HH24を持っていない原因:MI:SSの2番目の日の部分..嬉しいuはそれがurselfを考え出しました –
それとも、これを行っている可能性:
select trunc(sysdate) - to_date('2009-10-01', 'yyyy-mm-dd') from dual
これは、全体の日数を返します:
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)
これはまだインターデイ・トゥ・セカンド –
いいえ、あなたはそれを何と言うのですか? –
答えにNUMBERを返し、INTERVAL DAY TO SECONDは返さないという証明。 –
私はあなたが使用して試すことができ
select extract(day from sysdate - to_date('2009-10-01', 'yyyy-mm-dd')) from dual
ない日付を含むOracleで2つの日付の間の日数を、取得[間隔 – skaffman
可能重複](http://stackoverflow.com/questions/20721413/get-the-number-of-days-between-two-dates-in-oracle-inclusive-of-the-dates) –