これらの2つのコード結果が同じである理由はわかりません。私は文字列を連結するだけで引用符を付けると思った。なぜ最初は300.5100ではないのですか?とにかく私は第二のものが400.5であることを知っている。Oracle SQL TO_CHARファンクションの戻り値
Select to_char('300.5' + '100') From Dual;
Select to_char(300.5 + 100) From Dual;
これらの2つのコード結果が同じである理由はわかりません。私は文字列を連結するだけで引用符を付けると思った。なぜ最初は300.5100ではないのですか?とにかく私は第二のものが400.5であることを知っている。Oracle SQL TO_CHARファンクションの戻り値
Select to_char('300.5' + '100') From Dual;
Select to_char(300.5 + 100) From Dual;
連結は
'xxx' || 'yyy'
あなたの例リテラルは、通常の数字として扱われ、その後の数値に変換することができますです、ありがとうございました。
SQLで文字列を連結するには、||
を使用する必要があります。 +
は数字を追加するためのものです。 '300.5' + '100'
に合格しなかった場合は、エラーが発生します。次は、無効なSQLです:
select '300.5' + '100'
from dual;
しかし、入力パラメータOracleは暗黙的にちょうど二文のように、番号にこれらの文字列を変換し、それらを追加するようto_char()
は番号を期待して。