Hàm SUBSTRING trong SQL Server

Substring trong SQL Server là kiến thức mà mọi lập trình viên cần biết khi xử lý chuỗi. Dưới đây là những điều bạn cần biết về hàm substring trong SQL Server.

SQL Server rất quan trọng trong lập trình. Nó là hệ thống quản lý cơ sở dữ liệu do Microsoft phát triển. Thực tế, học SQL Server không khó. Bạn chỉ cần bắt đầu từ những kiến thức cơ bản nhất rồi tới nâng cao.

Xử lý dữ liệu là một phần cốt lõi của SQL Server. Xử lý dữ liệu không hẳn bạn phải xem xét database chứa đầy những con số hay phép tính lạ.

Thế nhưng text cũng là dữ liệu. Việc tìm dữ liệu text trong database rất phổ biến. Bạn không chỉ phải truy xuất nó mà còn phải chỉnh sửa nó. Hàm này cho phép bạn làm những việc trên gọi là các hàm văn bản.

Nếu muốn thành thạo SQL Server, bạn nên tìm hiểu các hàm cơ bản. Quantrimang.com có cung cấp những bài học SQL Server riêng cho người mới bắt đầu. Bạn có thể tìm hiểu bất kỳ lúc nào.

Một trong số những hàm văn bản phổ biến của SQL Server là Substring(). Hàm substring trong SQL Server có rất nhiều ứng dụng thực tế. Nếu dùng chúng đúng cách, bạn có thể chạy nhiều chức năng hay cho sản phẩm. Substring hay còn gọi là cắt chuỗi SQL. Vậy Substring SQL có tác dụng gì? Cách dùng hàm này như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!

Mô tả

Hàm SUBSTRING trong SQL Server cho phép bạn trích xuất một chuỗi con có độ dài được chỉ định bắt đầu từ một vị trí trong chuỗi đầu vào.

Cú pháp

Để sử dụng hàm SUBSTRING trong SQL Server, ta dùng cú pháp như sau:

SUBSTRING(string, start, length)

Tham số:

  • string: có thể là một chuỗi ký tự, biến hoặc cột mà bạn muốn trích xuất.
  • start: là một số nguyên chỉ định vị trí nơi chuỗi con bắt đầu được trả về. Lưu ý rằng ký tự đầu tiên trong string là 1, không phải bằng 0.
  • length: một số nguyên dương chỉ định số lượng ký tự của chuỗi con được trả về từ string.

Lưu ý:

  • Nếu tham số length có giá trị âm thì SUBSTRING sẽ xảy ra lỗi
  • Nếu start + length > độ dài của string thì chuỗi con sẽ bắt đầu từ start và bao gồm các ký tự còn lại của string.
  • Xem thêm về hàm LEFTRIGHT cũng để trích xuất một chuỗi con từ một chuỗi được chỉ định.
  • Hàm SUBSTRING có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.

Ví dụ

Hãy xem và khám phá một số ví dụ về hàm SUBSTRING trong SQL Server.

SELECT SUBSTRING('QuanTriMang.com', 1, 4);
Result: ‘Quan’

SELECT SUBSTRING('QuanTriMang.com', 5, 3);
Result: ‘Tri’

SELECT SUBSTRING('QuanTriMang.com', 5, 15);
Result: ‘TriMang.com’

Bài trước: Hàm STUFF trong SQL Server

Bài tiếp: Hàm UPPER trong SQL Server

Dùng SUBSTRING trên các truy vấn lồng nhau

Giả sử bạn muốn dùng hàm SUBSTRING trên một truy vấn lồng nhau trong bảng player_Details, bạn có thể dùng code SQL sau:

Truy vấn:

SELECT SUBSTRING(subquery.PlayerName, 1, 3) AS ShortenedName, subquery.City
FROM (
SELECT *
FROM Player_Details
WHERE City = 'New York'
) AS subquery;

Kết quả:

Substring trong SQL

Để chọn toàn bộ hàng từ bảng Player_Details, tại nơi cột City là New York, truy vấn SQL đầu tiên tạo một truy vấn lồng nhau. Một derived table hay truy vấn phụ chứa kết quả của truy vấn lồng nhau, sau đó được dùng làm input cho hàm SUBSTRING.

Cột PlayerName trong truy vấn phụ nhận hàm SUBSTRING, chọn 3 ký tự đầu của từng tên. Kết quả của hoạt động substring này là nó được trả về cùng với cột City từ truy vấn phụ trong một cột mới với alias ShortenedName.

Dùng substring với một chuỗi ký tự

Hàm substring() truy xuất phần chuỗi ký tự dựa trên vị trí khởi đầu và độ dài là tùy chọn.

Truy vấn:

SELECT SUBSTRING(PlayerName, 1, 5) AS ExtractString
FROM Player_Details;

Kết quả:

Ví dụ về cách dùng substring trong SQL

Truy vấn:

SELECT SUBSTRING(PlayerName, 1, 3) AS ExtractString
FROM Player_Details;

Kết quả:

Ví dụ về cách dùng substring trong SQL Server

Cột PlayerName trong truy vấn phụ nhận hàm substring, chọn 3 ký tự đầu tiên của mỗi tên. Kết quả của hoạt động chuỗi phụ này trả về cột PlayerName từ subquery trong cột mới với alias ExtractString.

Các quy tắc sử dụng SUBSTRING() cần nhớ

  • Toàn bộ 3 đối số được yêu cầu trong hàm substring() MS-SQL. Nếu vị trí bắt đầu vượt quá số ký tự tối đa trong biểu thức, hàm substring() SQL trả về kết quả trống.
  • Tổng độ dài có thể vượt quá độ dài ký tự tối đa của chuỗi ban đầu.
  • Trong trường hợp này, chuỗi phụ kết quả là toàn bộ chuỗi từ vị trí bắt đầu tới kết thúc của biểu thức.
Thứ Năm, 16/11/2023 14:38
4,19 👨 71.960
0 Bình luận
Sắp xếp theo
    ❖ SQL Server