11

行が存在しない場合、pgsqlのクエリから「0」を返すにはどうすればよいですか? お気に入り

SELECT IF EXISTS(フィールド) THEN フィールド ELSE 0 FROM テーブル

4

2 に答える 2

8
SELECT CASE WHEN EXISTS (SELECT 1 FROM table WHERE xxx) THEN 1 ELSE 0 END

しかし、あなたの質問は、行ではなくフィールドに存在することについて話しています。NULL と比較するだけで、「存在する場合」と考えると、次のようになります。

SELECT CASE WHEN field IS NULL THEN 0 ELSE 1 END FROM table

(もちろん、実際に文字列を '0' にしたい場合は、戻り値を一重引用符で囲みます。

于 2013-08-19T08:23:52.907 に答える