[sql] Oracle의 문자열 연결 연산자는 무엇입니까?

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 데프


답변

사용하여 CONCAT(CONCAT(,),)두 개 이상의 문자열을 연결 할 때 날 위해 일했습니다.

내 문제는 날짜 문자열로 작업하고 (만) 다음과 같이 작성해야 YYYYMMDD했습니다 YYYY-MM-DD(예 : 날짜 형식으로 변환하지 않음).

CONCAT(CONCAT(SUBSTR(DATECOL,1,4),SUBSTR(DATECOL,6,2)),SUBSTR(DATECOL,9,2)) AS YYYYMMDD

a

답변