105

次のことを行うためのpostgresqlクエリを作成しようとしています:

if(field1 > 0,  field2 / field1 , 0)

このクエリを試しましたが、機能しません

if (field1 > 0)
then return field2 / field1 as field3
else return 0 as field3

ありがとう

4

3 に答える 3

186

ここのPostgreSQLドキュメントに記載されているように:

SQL CASE 式は、他のプログラミング言語の if/else ステートメントに似た一般的な条件式です。

あなたの質問に具体的に答えるコードスニペット:

SELECT field1, field2,
  CASE
    WHEN field1>0 THEN field2/field1
    ELSE 0
  END 
  AS field3
FROM test
于 2013-09-26T13:41:13.080 に答える
24
case when field1>0 then field2/field1 else 0 end as field3
于 2013-09-26T13:40:54.530 に答える