[pgsql-jp: 24995] Re: date_part() milliseconds の ver.7.2.x での返り値は?
Tatsuo Ishii
t-ishii @ sra.co.jp
2002年 2月 27日 (水) 17:08:43 JST
石井です.
> PostgreSQL 7.1.3 を使っています。
> 7.2 を入れた方に実お願いです。
# どうして自分でやってみないんでしょうかね.プライベートに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
> となっています。
>
> 実際に実行してみると、秒の整数部分は返ってきません。(下記実行結果)
マニュアルの例の通りに実行すれば,マニュアルに書いてある通りの結果が返
りますよ.つまり source が TIME なら問題ない.これは7.1でも7.2でも一緒
です.
問題は,source が TIMESTAMP のときの動作ですね.
test=# select current_timestamp,extract(milliseconds from current_timestamp);
timestamptz | date_part
-------------------------------+-----------
2002-02-27 14:45:53.945529+09 | 945.529
(1 row)
ソースを直すのは簡単ですが,マニュアルが正しいのかどうか今一つはっきり
しないので本家に聞いてみます.
# それとSQL99のスペックも調べてみます.
# 今札幌に出張中なのでちょっと時間がかかるかも知れませんが...
--
Tatsuo Ishii
pgsql-jp メーリングリストの案内