Cách sử dụng những hàm lồng vào nhau (Nesting Functions) trong Oracle SQL

SysVN xin giới thiệu bài viết cách sử dụng các hàm lồng vào nhau (Nesting Functions) trong Oracle SQL. Trước khi tiếp tục bài viết này, mời các bạn theo xem lại các bài viết

  1. Giới thiệu

Các Single-row functions có thể lồng vào nhau bất kỳ cấp độ lồng. Khi đó thứ tự tính toán, đánh giá từ trong ra ngoài
Cú pháp:

2. Các ví dụ

Ví dụ 1:

SELECT last_name,
UPPER(CONCAT(SUBSTR (LAST_NAME, 1, 8), ‘_US’))
FROM employees
WHERE department_id = 60;

Ví dụ trên thì quá trình đánh giá như sau:

  • Result1 = SUBSTR (LAST_NAME, 1, 8)
  • Result2 = CONCAT(Result1, ‘_US’)
  • Result3 = UPPER(Result2)

Ví dụ 2:

SELECT TO_CHAR(NEXT_DAY(ADD_MONTHS(hire_date, 6), ‘FRIDAY’),’fmDay, Month ddth, YYYY’) “Next 6 Month Review”
FROM employees
ORDER BY hire_date;

  • Result1 = ADD_MONTHS(hire_date, 6)
  • Result2 = NEXT_DAY(Result1 , ‘FRIDAY’)
  • Result3 = TO_CHAR(Result2, ‘fmDay, Month ddth, YYYY’)

Ví dụ 3: 

SELECT TO_CHAR(ROUND((salary/7), 2),’99G999D99′,’NLS_NUMERIC_CHARACTERS = ”,.” ‘) “Formatted Salary”
FROM employees;