[Oracle] Timespan 型に相当するデータ型

2020年7月29日

 知りませんでしたが、Oracle にも時間型(期間型), つまり C# などでいうところの Timespan 型に相当するデータ型があるようです。

 ただ C# の Timespan 型と違い、年月の部分と日時分秒の部分とに分けて、それぞれに型が用意されているようです。前者が interval year to month 型、後者が interval day to second 型です。

 試してみます。

SQL> create table TIMESPAN (
  2      YM    interval year to month,
  3      DHMS  interval day to second
  4  );

表が作成されました。

SQL> insert into TIMESPAN values ('+99-11', '99 23:59:59.999999');

1行が作成されました。

SQL> select * from TIMESPAN;

YM      DHMS
------- --------------------
+99-11  +99 23:59:59.999999

 リテラル書式を使えば select 文内で計算も可能です。

SQL> select (interval '01 02:03:04' day to second) + (interval '05:06' hour to minute) from dual;

(INTERVAL'0102:03:04'DAYTOSECOND)+(INTERVAL'05:06'HOURTOMINUTE)
----------------------------------------------------------------
+000000001 07:09:04.000000000

 C# や VB.NET でアクセスするときは、day to second 型は Timespan 型, year to month 型は Int64 型に対応するようです。Int64 型ってなんかモヤっとしますが・・・(汗






カテゴリー: Oracle

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org