Answers:
||
例如,它是:
select 'Mr ' || ename from emp;
我能想到的唯一“有趣”功能是'x' || null
return '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个字符串时使用concat,而|| 当这些字符串大于2时:
select concat(a,b)
from dual
要么
select 'a'||'b'||'c'||'d'
from dual
concat(a,b)
了a||b
?