[pgsql-jp: 37340] timestamp型データの数値変換について

遠矢 奈央(naotoy) naotoy @ fsi.co.jp
2006年 7月 10日 (月) 12:09:25 JST


お世話になっております。遠矢と申します。

timestamp型データの数値変換についての質問があります。
(RedHatLinux v.4AS/PostgreSQL 8.1.3)

下記の状況が前提です。
・日付及び時間を数値表現する場合、可変長のミリ秒で表現したい
・Java実装でBigdecimal及びjava.util.Dateを使用するが、
 Dateを数値表現(epock=1970-01-01 00:00:00からの経過時間)する場合、
 ミリ秒を示すlong値が使用される

ここで、timestamp型データ から ミリ秒を取得する必要が出てきました。
現在、EPOCH・MILLISECONDS 関数の使用を考えておりますが、
この方法では誤差が生じないか懸念があります。

 1. EPOCH 関数で、1970-01-01 00:00:00からの秒数取得
 2. MILLISECONDS 関数で、timestampデータからミリ秒フィールドのみを取得
 3. 上記1,2で求めた値を加算

PostgreSQLのtimestamp型データ から ミリ秒を取り出す方法として
他に有効な手段があればご教示下さい。


以上、宜しくお願い致します。




pgsql-jp メーリングリストの案内