Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[SQL] 함수의 중첩 본문
함수의 중첩
- 단일 행 함수는 여러 번 중첩가능
- 가장 안쪽부터 바깥쪽 순으로 계산
- 예) CONCAT(birthdate, CONCAT('[', CONCAT(gender,']')))
- 이름이 '영'으로 끝나는 사원들을 대상으로 문자함수를 중첩하여 이름의 두 번째 문자로부터 세 문자를 '*'로 표시하고 생년월일과 특수문자 '[]' 및 GENDER 열을 결합하여 생년월일 옆에 성별을 표시
SELECT emp_id, REPLACE(emp_name, SUBSTR(emp_name, 2, 4), '***') name,
CONCAT(birthdate, CONCAT('[', CONCAT(gender,']'))) AS birth
FROM y_emp
WHERE emp_name LIKE '%영';
- 입사 후 6개월 경과 후 첫 번째 돌아오는 금요일이 사원의 인턴기간이 만료되고 채용 여부가 결정되는 시기로 정해져 있다. 2011년에 입사한 사원의 인턴기간 만료일이 언 제인지 날짜 함수를 중첩해서 알아본다. 또한 출력되는 날짜의 형식은 YYYY-MM-DD 형식이어야 한다.
SELECT emp_id, emp_name, TO_CHAR(hiredate, 'YYYY-MM-DD') 입사일,
TO_CHAR(NEXT_DAY(ADD_MONTHS(hiredate, 6), '금요일'), 'YYYY-MM-DD')
AS "Review_Day"
FROM y_emp
WHERE TO_CHAR(hiredate, 'YYYY') LIKE '2011%';
'Oracle SQL' 카테고리의 다른 글
[SQL] 조건 표현식 (0) | 2023.04.14 |
---|---|
[SQL] 일반 함수 (0) | 2023.04.14 |
[SQL] 데이터 유형 변환 함수 (단일 행 함수 4) (1) | 2023.04.09 |
[SQL] 날짜 함수 (단일 행 함수 3) (0) | 2023.04.09 |
[SQL] 숫자 함수 (단일 행 함수 2) (0) | 2023.04.09 |
Comments