23

OracleDECODE()'Function InPostgresに相当するものはありません。関数としてデコードを書いた人はいますか?

4

3 に答える 3

25

相当するものがあります。CASE発言といいます。

CASE には次の 2 つの形式があります。

シンプルなケース:

CASE search-expression
    WHEN expression [, expression [ ... ]] THEN
      statements
  [ WHEN expression [, expression [ ... ]] THEN
      statements
    ... ]
  [ ELSE
      statements ]
END CASE;

検索されたケース:

CASE
    WHEN boolean-expression THEN
      statements
  [ WHEN boolean-expression THEN
      statements
    ... ]
  [ ELSE
      statements ]
END CASE;

CASEステートメントが読みやすくなります。私はOracleよりもこれらを好みdecode()ます。

于 2013-03-07T03:13:27.767 に答える
3

Oracle 固有の機能に慣れている場合は、PostgreSQL 拡張機能をインストールすることをお勧めしますorafce

他のOracle固有の機能の中でも、探しているものorafceも実装しています。DECODE

Ubuntu で実行している場合は、パッケージをインストールpostgresql-9.1-orafceorafceて、PostgreSQL サーバーで使用できるようにするだけです。

于 2013-03-07T05:36:27.983 に答える