SQL String Functions (Phần 1) - Viblo
Có thể bạn quan tâm
Ở bài viết này, mình xin được giới thiệu về một số string functions thường gặp trong SQL. Ở mỗi RDBMS (Hệ quản trị cơ sở dữ liệu quan hệ) có thể sẽ sử dụng các string functions khác nhau, ngoài ra cú pháp của các function cũng có thể sẽ khác nhau với mỗi RDBMS cho dù tên chúng có giống nhau.
1. CAST
Hàm CAST trong SQL cho phép chuyển đổi dữ liệu từ kiểu dữ liệu này sang kiểu dữ liệu khác. Ví dụ, chúng ta có thể sử dụng hàm CAST để chuyển đổi dữ liệu dạng số sang dạng chuỗi ký tự.
Syntax
CAST (expression AS [data type])Ví dụ
Ở ví dụ này chúng ta sử dụng bảng StudentScore dưới đây.
| StudentID | First_Name | Score |
|---|---|---|
| 1 | Jenny | 85.2 |
| 2 | Bob | 92.5 |
| 3 | Alice | 90 |
| 4 | James | 120.1 |
- Ví dụ 1:
Kết quả:
First_Name Int_Score Jenny 85 Bob 92 Alice 90 James 120Trong ví dụ 1 này, chúng ta đã sử dụng hàm CAST để chuyển đổi dữ liệu cột Score từ FLOAT sang INTEGER
- Ví dụ 2:
Kết quả:
First_Name Char_Score Jenny 85. Bob 92. Alice 90 James 120Trong ví dụ 2 này, chúng ta đã sử dụng hàm CAST để chuyển đổi dữ liệu cột Score từ FLOAT sang CHAR(3). Do chỉ lấy 3 kí tự đầu tiên, nên nếu có nhiều hơn 3 kí tự, thì những kí tự sau 3 kí tự đầu sẽ bị lược bỏ đi.
2. CONCATENATE
Hàm Concatenate được sử dụng để kết hợp các xâu kí tự với nhau. Mỗi DB lại có cách riêng để tiến hành hàm này:
- My SQL: CONCAT( )
- Oracle: CONCAT( ), ||
- SQL Server: +
Syntax
CONCAT (str1, str2, str3, ...)*Đối với Oracle thì hàm CONCAT( ) chỉ cho phép 2 arguments, tuy nhiên lại có thể kết hợp nhiều hơn 2 chuỗi kí tự với cú pháp '||'
str1 || str2 || str3 ... str1 + str2 + str3 ...Ví dụ
Trong ví dụ này ra sử dụng bảng Geography sau:
| Region_Name | Store_Name |
|---|---|
| East | Boston |
| East | New York |
| West | Los Angeles |
| West | San Diego |
- Ví dụ 2: Sử dụng hàm CONCAT( )
MySQL / Oracle
SELECT CONCAT(Region_Name, Store_Name) FROM Geography WHERE Store_Name = 'Boston';Kết quả:
'EastBoston'- Ví dụ 1: Sử dụng '||'
Oracle:
SELECT Region_Name || ' ' || Store_Name FROM Geography WHERE Store_Name = 'Boston';Kết quả:
'East Boston'- Ví dụ 3: Sử dụng '+'
SQL Server:
SELECT Region_Name + ' ' + Store_Name FROM Geography WHERE Store_Name = 'Boston';Kết quả:
'East Boston'3. SUBSTRING
Hàm Substring được sử dụng để trả về một phần của string đầu vào. Mỗi DB lại có cách riêng để tiến hành hàm này.
- MySQL: SUBSTR( ), SUBSTRING( )
- Oracle: SUBSTR( )
- SQL Server: SUBSTRING( )
Cú pháp
SUBSTR (str, position, [length])Trong đó, position và length đều lại integer. Cú pháp trên có ý nghĩa là lấy ra xâu kí tự có độ dài length tính từ kí tự ở vị trí position trong xâu str.
Trong MySQL thì length là một tham số không bắt buộc, tuy nhiên ở Oracle thì length là bắt buộc.
SUBSTR() có thể được sử dụng trong mệnh đề SELECT, WHERE, và ORDER BY.
Ví dụ
Trong ví dụ này ta sử dụng bảng Geography dưới đây
| Region_Name | Store_Name |
|---|---|
| East | Chicago |
| East | New York |
| West | Los Angeles |
| West | San Diego |
- Ví dụ 1
Kết quả:
SUBSTR (Store_Name, 3) s Angeles- Ví dụ 2
Kết quả:
SUBSTR (Store_Name, 2, 4) an D4.TRIM
Hàm Trim trong SQL được sử dụng để loại bỏ những tiền tố, hậu tố trong string. Trong đó, pattern thường hay được loại bỏ nhất là dấu cách (white space). Với mỗi DB khác nhau hàm này cũng được gọi khác nhau:
- MySQL: TRIM( ), RTRIM( ), LTRIM( )
- Oracle: RTRIM( ), LTRIM( )
- SQL Server: RTRIM( ), LTRIM( )
Cú pháp
- Cú pháp của hàm TRIM
- Cú pháp của hàm LTRIM
LTRIM xoá bỏ hết các dấu cách ở đầu xâu
- Cú pháp của hàm RTRIM
RTRIM xoá bỏ hết các dấu cách ở cuối xâu
Ví dụ
- Ví dụ 1: TRIM function
Kết quả:
'Sample'- Ví dụ 2: LTRIM function
Kết quả:
'Sample '- Ví dụ 3: RTRIM function
Kết quả:
' Sample'5. LENGTH
Hàm Length được sử dụng để trả về độ dài của string. Hàm này có tên khác nhau ở các DB khác nhau:
- MySQL: LENGTH( )
- Oracle: LENGTH( )
- SQL Server: LEN( )
Cú pháp
Length (str)Ví dụ Trong ví dụ này ta sử dụng bảng Geography dưới đây
| Region_Name | Store_Name |
|---|---|
| East | Chicago |
| East | New York |
| West | Los Angeles |
| West | San Diego |
- Ví dụ 1
Kết quả:
Length (Store_Name) 11- Ví dụ 2
Kết quả:
Region_Name Length (Region_Name) East 4 East 4 West 4 West 4References
https://www.1keydata.com/sql/sql-string-functions.html
Từ khóa » Hàm Bỏ Dấu Trong Oracle
-
Làm Sao để Select Cả Tiếng Việt Có Dấu Và Không Dấu Trong Oracle
-
Loại Bỏ Dấu Tiếng Việt Trong Oracle PL/SQL - You'll Never Walk Alone!
-
So Sánh Các Chuỗi Bỏ Qua Dấu Trong SQL (ORACLE) - HelpEx
-
Các Hàm Xử Lý Chuỗi Trong Oracle - Openplanning
-
Hàm Bỏ Dấu Tiếng Việt Trong Oracle - Document Developer
-
Hàm Hàm LTRIM Trong Oracle - Freetuts
-
Hàm Bỏ Dấu Tiếng Việt Trong DB2 [Archive] - Diễn Đàn Tin Học
-
Xóa Dấu Tiếng Việt - Review Game Mobile Hot
-
[SQLSERVER] Hướng Dẫn Tạo Function Bỏ Dấu Tiếng Việt Unicode
-
Hàm Hàm LTRIM Trong Oracle - Vi
-
Tìm Hiểu BETWEEN Trong Oracle - Vi
-
Làm Cách Nào để Thay Thế Một Trích Dẫn Duy Nhất Trong PostgreSQL?