Что такое оператор конкатенации строк в Oracle SQL?
Есть ли какие-нибудь "интересные" функции, над которыми я должен быть осторожен?
(Это кажется очевидным, но я не мог найти предыдущий вопрос, задающий его).
Это ||
, например:
select 'Mr ' || ename from emp;
Единственная "интересная" функция, о которой я могу думать, заключается в том, что 'x' || null
возвращает 'x'
, а не null
, как вы, возможно, ожидаете.
Там также concat, но он не используется значительно
select concat('a','b') from dual;
concat()
||
для ясности.
Я бы предложил concat при работе с 2 строками, а || когда эти строки больше 2:
select concat(a,b)
from dual
или
select 'a'||'b'||'c'||'d'
from dual
concat(a,b)
над a||b
?
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