[pgsql-jp: 24966] date_part() milliseconds の ver.7.2.x での返り値は?
Jun Kitamura
kitamura @ assiette.net
2002年 2月 27日 (水) 06:58:56 JST
北村です。
PostgreSQL 7.1.3 を使っています。
7.2 を入れた方に実お願いです。
date_part() または EXTRACT の ミリ秒の返り値についての質問です。
(マイクロ秒でも同じですが)
マニュアル(下記URL)では、
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/functions-datetime.html
> milliseconds(ミリセカンド)
> 分数部分も含めた、1000をかけた秒フィールド。秒すべてを返すことに 注意して下さい。
>
> SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');
> 結果: 28500
となっています。
実際に実行してみると、秒の整数部分は返ってきません。(下記実行結果)
(date_part と timeofday の実行遅延により、等しい値になりませんが、少なく
とも秒の整数部分が返っていないのは分かる)。
7.2.x でも同じ動きでしょうか?
# 実装が先かマニュアルが先かって問題ですけど、マニュアル先行だった場合、
# 7.1 では間に合わなかったけど、7.2 では実装されてマニュアルどおりの動
# きをするって可能性がありますよね。
# 秒×1000 を足す処理を加えようか、カラムを分けようか(安全だし)っていう
# だけの問題なんですけどね・・・。
test=# select version();
version
----------------------------------------------------------------
PostgreSQL 7.1.3 on i586-pc-linux-gnu, compiled by GCC 2.7.2.3
(1 row)
test=# select date_part('milliseconds', timeofday()::timestamp),timeofday();
date_part | timeofday
-----------+-------------------------------------
494.512 | Wed Feb 27 06:41:06.494824 2002 JST
(1 row)
(期待するのは 6494.xxx)
test=# select extract(milliseconds from timeofday()::timestamp),timeofday();
date_part | timeofday
------------------+-------------------------------------
639.672000000001 | Wed Feb 27 06:42:26.639992 2002 JST
(1 row)
(期待するのは 26639.xxx)
よろしくお願いします。
pgsql-jp メーリングリストの案内