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