[pgsql-jp: 37341] Re: timestamp型データの数値変換について
Yasuhiro Shibutani
yasuhiro_shibutani @ ybb.ne.jp
2006年 7月 10日 (月) 12:34:53 JST
渋谷です。
バージョンによる違いがあるとかは分かりませんが、
extract(epoch from ...) の戻り値は double precision で
秒以下の単位も実は含まれてます。
ので、私は *1000 として同じことを実現しましたね。
On Mon, 10 Jul 2006 12:09:25 +0900
遠矢 奈央(naotoy) <naotoy @ fsi.co.jp> wrote:
> お世話になっております。遠矢と申します。
>
> 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型データ から ミリ秒を取り出す方法として
> 他に有効な手段があればご教示下さい。
>
>
> 以上、宜しくお願い致します。
--
Yasuhiro Shibutani <yasuhiro_shibutani @ ybb.ne.jp>
pgsql-jp メーリングリストの案内