こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

OracleのSQLの質問です。

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

投稿日時 - 2004-10-27 20:40:52

QNo.1059034

困ってます

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

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

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

投稿日時 - 2004-11-02 10:05:33

お礼

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

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

投稿日時 - 2004-11-06 13:01:15

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

GoF

(+)演算子は、カラム名にのみ適用できます。
よって、TO_CHAR(col, fmt)(+) という書き方はできません。

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

投稿日時 - 2004-10-28 11:17:06

補足

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

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

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

投稿日時 - 2004-10-28 13:50:51

あなたにオススメの質問