SQL> select concat('ABC','DEF') from dual;
CONCAT
------
ABCDEF
SQL> select 'ABC'||'DEF' from dual;
'ABC'|
------
ABCDEF
SQL> select 'ABC'||'DEF'||'GHI' from dual;
'ABC'||'D
---------
ABCDEFGHI
SQL> select concat('ABC','DEF','GHI') from dual;
select concat('ABC','DEF','GHI') from dual
*
第 1 行出现错误:
ORA-00909: 参数个数无效
SQL>
SQL> select concat(concat('ABC','DEF'),'GHI') from dual;
CONCAT(CO
---------
ABCDEFGHI
CONCAT
------
ABCDEF
SQL> select 'ABC'||'DEF' from dual;
'ABC'|
------
ABCDEF
SQL> select 'ABC'||'DEF'||'GHI' from dual;
'ABC'||'D
---------
ABCDEFGHI
SQL> select concat('ABC','DEF','GHI') from dual;
select concat('ABC','DEF','GHI') from dual
*
第 1 行出现错误:
ORA-00909: 参数个数无效
SQL>
SQL> select concat(concat('ABC','DEF'),'GHI') from dual;
CONCAT(CO
---------
ABCDEFGHI
SQL>
我们一般大量使用||(特别是在存储过程中),而很少(几乎没有)使用concat函数。
因为concat函数只能带两个参数,而||我们跟无数个参数。