2010年1月16日

[pgsql-jp: 40140]count関数がis nullな行コンストラクタの値をカウントしてしまう

postgres=# select version();
version
----------------------------------------------------------------
PostgreSQL 8.4beta2, compiled by Visual C++ build 1400, 32-bit

create table disTest(Val1,Val2) as
values(null, 1),
(null,null);


postgres=# select row(Val1,Val2) is null
postgres-# from disTest;
?column?
----------
f
t

postgres=# select count(row(Val1,Val2))
postgres-# from disTest;
count
-------
2

****************************************************************************

http://www.postgresql.jp/document/current/html/functions-aggregate.html
count(expression)は、expressionが非NULL値を持つ入力行の個数を返すので

select count(row(Val1,Val2)) from disTest;
は2でなく1を返すと思いますが、
2を返すのが正しい仕様なのでしょうか?


投稿者 xml-rpc : 2010年1月16日 10:51
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/92384
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。