Oracle SQL 中的字符串连接运算符是什么?
有没有我应该注意的“有趣”功能?
(这似乎很明显,但我找不到以前的问题问它)。
Oracle SQL 中的字符串连接运算符是什么?
有没有我应该注意的“有趣”功能?
(这似乎很明显,但我找不到以前的问题问它)。
它是||
,例如:
select 'Mr ' || ename from emp;
我能想到的唯一“有趣”的功能是'x' || null
返回'x'
,而不是null
您可能期望的那样。
还有concat,不过用的不多
select concat('a','b') from dual;
我建议在处理 2 个字符串时使用 concat 和 || 当这些字符串超过 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
CONCAT(CONCAT(,),)
连接两个以上的字符串时,使用对我有用。
我的问题需要使用日期字符串(仅)并按如下方式创建(即不转换为日期格式)YYYYMMDD
:YYYY-MM-DD
CONCAT(CONCAT(SUBSTR(DATECOL,1,4),SUBSTR(DATECOL,6,2)),SUBSTR(DATECOL,9,2)) AS YYYYMMDD