[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 メーリングリストの案内