Oracle에서는 문자열은 ||을 사용하여 합치면 된다.

 

예시 

select ('2021-01-01' || ' ~ ' || '2021-01-02') as resultDate from dual;

 

MySQL은 CONCAT함수를 사용하여 합쳐야 한다

 

예시

select concat('2021-01-01','2021-01-02') as resultDate from dual;

 

추가적으로 MySQL은 CONCAT_WS([구분자], [인자값1], [인자값2], [인자값3],...)의 함수도 존재한다.

 

예시

select concat_ws(' ','서울특별시','중구','세종대로') as result from dual;

 

 

Oracle에서도 CONCAT함수를 제공한다. 그러나 인자값을 2개만 쓸 수 있으므로 불편한 상황이 발생한다.

 

예를 들면, 기존 SQL에 내용을 추가하게 될 때, 아래 예시 같이 쿼리의 가독성이 떨어지게 된다.

 

따라서, 몇 번의 추가적인 내용이 더 생기게 된다면 쿼리가 무엇을 합치려는지 쉽게 알 수가 없기 때문에 CONCAT함수보다는 ||의 사용을 더 선호한다.

 

예시

SELECT CONCAT('서울시','중구') FROM DUAL;
SELECT CONCAT(CONCAT('서울시','중구'),'세종대로') FROM DUAL;