dポイントプレゼントキャンペーン実施中!

OracleのSQLの質問です。

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

A 回答 (2件)

> WHERE句の「=」で使用する際の「(+)」は意味が分かりますが



同じようなもんですよ。
(+)を付けると、結合するテーブルに一致するデータが無い場合、NULLで補います。
外部結合演算子はWHERE句でしか使わないはずなので・・・
TO_CHAR関数をWHERE句内で使う場合の構文なんでしょうね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

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

お礼日時:2004/11/06 13:01

(+)演算子は、カラム名にのみ適用できます。


よって、TO_CHAR(col, fmt)(+) という書き方はできません。

ですので、以下のような書き方になる可能性もあります。
TO_CHAR(tbl.col1(+)||tbl.col2(+), fmt)

この回答への補足

質問に不備があり、申し訳ありません。

私がお聞きしたいのは正に、
TO_CHAR(tbl.col1(+)||tbl.col2(+), fmt)
の形式です。

上記の場合、「(+)」を付けた場合と付けない場合で、
どのように変化するのでしょうか?

補足日時:2004/10/28 13:50
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!