HackerRank/Oracle The PADs

[HackerRank/Oracle] The PADs

📌문제링크

문자열을 합쳐 출력하는 문제다.

오라클에서는 문자 합칠때 ||, CONCAT을 사용할 수 있다.

두 가지에 대해 알아보자.

1. || 이용

1
2
3
4
5
6
7
8
SELECT NAME || '(' || SUBSTR(OCCUPATION,1,1) || ')'
FROM OCCUPATIONS
ORDER BY NAME;

SELECT 'There are a total of ' || COUNT(OCCUPATION) || ' '|| LOWER(OCCUPATION)|| 's.'
FROM OCCUPATIONS
GROUP BY OCCUPATION
ORDER BY COUNT(OCCUPATION) , OCCUPATION;

2. CONCAT 이용

오로지 2개 요소만 받아 합칠 수 있기때문에 CONCAT 안에 CONCAT을 정의해주는 과정이 필요

문자열을 합칠 게 많으면 불편함

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT  CONCAT(
            CONCAT( 
                CONCAT(NAME ,'('),SUBSTR(OCCUPATION,1,1)
                  )
            ,')')
FROM OCCUPATIONS
ORDER BY NAME ;

SELECT CONCAT(CONCAT(
        CONCAT(
            CONCAT('There are a total of ', COUNT(OCCUPATION)), ' '
             ),LOWER(OCCUPATION)),'s.')
FROM OCCUPATIONS
GROUP BY OCCUPATION
ORDER BY COUNT(OCCUPATION), OCCUPATION;