Using Single-Row Functions | Các hàm thường dùng trong Oracle Database

Trong SQL, các hàm xử lý single-row functions được sử dụng để tùy chỉnh và định dạng kết quả đầu ra của truy vấn. Những hàm này xử lý dữ liệu trên từng hàng riêng lẻ và trả về một giá trị duy nhất cho mỗi hàng. Dưới đây là một số hàm xử lý một hàng phổ biến trong Oracle SQL, bao gồm các ví dụ minh họa về cách sử dụng chúng.

Using Single-Row Functions | Các hàm thường dùng trong Oracle Database

1. Hàm Chuỗi (String Functions)

1.1 UPPER và LOWER

Mục đích: Chuyển đổi chuỗi ký tự thành chữ hoa hoặc chữ thường.

SELECT first_name, UPPER(last_name) AS last_name_upper
FROM employees;

Kết quả:

first_namelast_name_upper
JohnSMITH
AliceJOHNSON

1.2 CONCAT

Mục đích: Nối hai chuỗi ký tự lại với nhau.

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

Kết quả:

full_name
John Smith
Alice Johnson

1.3 SUBSTR

Mục đích: Trích xuất một phần của chuỗi ký tự.

SELECT first_name, SUBSTR(first_name, 1, 3) AS first_three_chars
FROM employees;

Kết quả:

first_namefirst_three_chars
JohnJoh
AliceAli

1.4 LENGTH

Mục đích: Trả về độ dài của chuỗi ký tự.

SELECT first_name, LENGTH(first_name) AS name_length
FROM employees;

Kết quả:

first_namename_length
John4
Alice5

2. Hàm Số Học (Numeric Functions)

2.1 ROUND

Mục đích: Làm tròn giá trị số học đến số chữ số thập phân được chỉ định.

SELECT salary, ROUND(salary, 0) AS rounded_salary
FROM employees;

Kết quả:

salaryrounded_salary
5200.755201
4800.254800

2.2 TRUNC

Mục đích: Cắt bỏ các chữ số thập phân sau số thập phân được chỉ định.

SELECT salary, TRUNC(salary, 0) AS truncated_salary
FROM employees;

Kết quả:

salarytruncated_salary
5200.755200
4800.254800

2.3 MOD

Mục đích: Tính phần dư của phép chia.

SELECT employee_id, MOD(employee_id, 2) AS remainder
FROM employees;

Kết quả:

employee_idremainder
11
20

3. Hàm Ngày Giờ (Date Functions)

3.1 SYSDATE

Mục đích: Trả về ngày và giờ hiện tại của hệ thống.

SELECT SYSDATE AS current_date
FROM dual;

Kết quả:

current_date
2024-06-25 14:30:00

3.2 MONTHS_BETWEEN

Mục đích: Tính số tháng giữa hai ngày.

SELECT hire_date, MONTHS_BETWEEN(SYSDATE, hire_date) AS months_between
FROM employees;

Kết quả:

hire_datemonths_between
2020-01-1553.5
2019-03-2063.3

3.3 ADD_MONTHS

Mục đích: Thêm một số tháng cụ thể vào một ngày.

SELECT hire_date, ADD_MONTHS(hire_date, 6) AS six_months_later
FROM employees;

Kết quả:

hire_datesix_months_later
2020-01-152020-07-15
2019-03-202019-09-20

3.4 NEXT_DAY

Mục đích: Tìm ngày của ngày cụ thể tiếp theo (ví dụ: ngày thứ Hai tiếp theo).

SELECT hire_date, NEXT_DAY(hire_date, 'MONDAY') AS next_monday
FROM employees;

Kết quả:

hire_datenext_monday
2020-01-152020-01-20
2019-03-202019-03-25

4. Hàm Chuyển Đổi (Conversion Functions)

4.1 TO_CHAR

Mục đích: Chuyển đổi giá trị ngày hoặc số thành chuỗi ký tự.

SELECT TO_CHAR(hire_date, 'YYYY-MM-DD') AS formatted_hire_date
FROM employees;

Kết quả:

formatted_hire_date
2020-01-15
2019-03-20

4.2 TO_DATE

Mục đích: Chuyển đổi chuỗi ký tự thành giá trị ngày.

SELECT TO_DATE('2024-06-25', 'YYYY-MM-DD') AS date_value
FROM dual;

Kết quả:

date_value
2024-06-25

4.3 TO_NUMBER

Mục đích: Chuyển đổi chuỗi ký tự thành giá trị số.

SELECT TO_NUMBER('12345') AS number_value
FROM dual;

Kết quả:

number_value
12345

Túm lại

Các hàm xử lý Single-Row Functions trong SQL giúp tùy chỉnh và định dạng kết quả truy vấn theo nhiều cách khác nhau, từ việc xử lý chuỗi ký tự, tính toán số học, làm việc với ngày giờ, đến chuyển đổi giữa các kiểu dữ liệu. Sử dụng các hàm này một cách hiệu quả giúp bạn dễ dàng thao tác và phân tích dữ liệu trong cơ sở dữ liệu Oracle.

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận