• ベストアンサー

TO_CHAR関数における外部結合について

OracleのSQLの質問です。 TO_CHAR()関数の構文で質問です。 TO_CHAR()関数の構文は、 TO_CHAR(〔データ〕,〔出力形〕)ですが、 この〔データ〕において外部結合を示す、 「(+)」があるかと思いますが、 この時の「(+)」はどういった機能を持っているのでしょうか? WHERE句の「=」で使用する際の「(+)」は意味が分かりますが、 TO_CHAR()関数で使用する「(+)」の意味が分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> WHERE句の「=」で使用する際の「(+)」は意味が分かりますが 同じようなもんですよ。 (+)を付けると、結合するテーブルに一致するデータが無い場合、NULLで補います。 外部結合演算子はWHERE句でしか使わないはずなので・・・ TO_CHAR関数をWHERE句内で使う場合の構文なんでしょうね。

susumufire
質問者

お礼

回答ありがとうございます。 TO_CHAR関数に対して外部結合演算子を使うときの構文なんですね。 ありがとうございました!

その他の回答 (1)

  • GoF
  • ベストアンサー率37% (34/91)
回答No.1

(+)演算子は、カラム名にのみ適用できます。 よって、TO_CHAR(col, fmt)(+) という書き方はできません。 ですので、以下のような書き方になる可能性もあります。 TO_CHAR(tbl.col1(+)||tbl.col2(+), fmt)

susumufire
質問者

補足

質問に不備があり、申し訳ありません。 私がお聞きしたいのは正に、 TO_CHAR(tbl.col1(+)||tbl.col2(+), fmt) の形式です。 上記の場合、「(+)」を付けた場合と付けない場合で、 どのように変化するのでしょうか?