Hàm SUBSTRING trong SQL Server

Thứ hai - 14/08/2023 10:15

Substring trong SQL Server là gì? Cắt chuỗi trong SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!

Khi nhắc tới xử lý dữ liệu trong SQL, nhiều người thường nghĩ ngay tới một database đầy ắp các con số và code SQL triển khai những phép tính lạ mắt. 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 LEFT và RIGHT 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’

 

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.

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.

Nguồn tin: Quantrimang.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập25
  • Máy chủ tìm kiếm2
  • Khách viếng thăm23
  • Hôm nay7,190
  • Tháng hiện tại162,701
  • Tổng lượt truy cập9,868,553
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây