SQL String Functions (Phần 1)

Tram Ho

Ở 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

Ví dụ

Ở ví dụ này chúng ta sử dụng bảng StudentScore dưới đây.

StudentIDFirst_NameScore
1Jenny85.2
2Bob92.5
3Alice90
4James120.1
  • Ví dụ 1:

Kết quả:

Trong 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ả:

Trong 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

*Đố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 ‘||’

Ví dụ

Trong ví dụ này ra sử dụng bảng Geography sau:

Region_NameStore_Name
EastBoston
EastNew York
WestLos Angeles
WestSan Diego
  • Ví dụ 2: Sử dụng hàm CONCAT( )

MySQL / Oracle

Kết quả:

  • Ví dụ 1: Sử dụng ‘||’

Oracle:

Kết quả:

  • Ví dụ 3: Sử dụng ‘+’

SQL Server:

Kết quả:

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

Trong đó, positionlength đề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_NameStore_Name
EastChicago
EastNew York
WestLos Angeles
WestSan Diego
  • Ví dụ 1

Kết quả:

  • Ví dụ 2

Kết quả:

4.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ả:

  • Ví dụ 2: LTRIM function

Kết quả:

  • Ví dụ 3: RTRIM function

Kết quả:

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

Ví dụ
Trong ví dụ này ta sử dụng bảng Geography dưới đây

Region_NameStore_Name
EastChicago
EastNew York
WestLos Angeles
WestSan Diego
  • Ví dụ 1

Kết quả:

  • Ví dụ 2

Kết quả:

References

https://www.1keydata.com/sql/sql-string-functions.html

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo