什么是Oracle中的string连接运算符?

什么是Oracle SQL中的string连接运算符?

有什么“有趣”的特点,我应该小心?

(这看起来很明显,但我找不到以前的问题)。

这是|| , 例如:

 select 'Mr ' || ename from emp; 

我能想到的唯一“有趣”特征是'x' || null 'x' || null返回'x' ,不是你可能期望的那样。

还有concat,但是用得不多

 select concat('a','b') from dual; 

处理2个string时,我会build议concat,|| 当那些string超过2:

 select concat(a,b) from dual 

要么

  select 'a'||'b'||'c'||'d' from dual 
 DECLARE a VARCHAR2(30); b VARCHAR2(30); c VARCHAR2(30); BEGIN a := ' Abc '; b := ' def '; c := a || b; DBMS_OUTPUT.PUT_LINE(c); END; Abc def