回答:
それは||
、例えば:
select 'Mr ' || ename from emp;
私が考えることができる唯一の「興味深い」機能'x' || null
は'x'
、null
あなたがおそらく期待するようなものではなく、リターンであるということです。
||
Oracleでは、論理演算子ではないため、を'x'||null
返しますx
。
AND
、NOT
などの演算子を意味する場合、もちろん||
論理演算子ではありません。しかし、それは'x'||null
戻ることで何をしなければならないのx
ですか? n+null
nullを返すので+
、論理演算子ですか?
concatもありますが、あまり使われていません
select concat('a','b') from dual;
CONCAT
他のDBMS(少なくともMySQLとPostgres)とも互換性があります。
nvl()
。)
CONCAT
Microsoft SQL Server 2012以降でも利用できます。CONCATは非標準ですが、コードを移植可能にしたい場合は間違いなく使用する方法です。(||
実際のANSI標準演算子ですが、サポートを確認してもわかりません!)
|| 2つの文字列を処理するときは、連結を提案します。これらの文字列が2を超える場合:
select concat(a,b)
from dual
または
select 'a'||'b'||'c'||'d'
from dual
concat(a,b)
オーバーa||b
?