PostgreSQL Hàm SUBSTRING() với ví dụ về Regex
Là gì PostgreSQL Chuỗi con?
Sản phẩm PostgreSQL Hàm chuỗi con giúp bạn trích xuất và trả về một phần của chuỗi. Thay vì trả về toàn bộ chuỗi, nó chỉ trả về một phần của chuỗi đó.
cú pháp
Sản phẩm PostgreSQL hàm chuỗi con có cú pháp như sau:
substring( string [from starting_position] [for length] )
Thông số
Họ tên | Mô tả |
---|---|
chuỗi | Chuỗi nguồn có kiểu dữ liệu là varchar, char, string, v.v. |
điểm xuất phát | Nó là một tham số tùy chọn. Nó biểu thị nơi bắt đầu trích xuất chuỗi. Nếu bạn bỏ qua tham số này, quá trình trích xuất sẽ bắt đầu từ vị trí 1, đây là ký tự đầu tiên trong chuỗi. |
chiều dài | Nó là một tham số tùy chọn. Nó biểu thị số lượng ký tự được trích xuất từ chuỗi. Nếu bạn bỏ qua tham số này, hàm sẽ trích xuất từ vị trí bắt đầu đến cuối chuỗi. |
Các ví dụ
Trong ví dụ này, chúng tôi muốn trích xuất 4 ký tự đầu tiên từ từ Guru99:
SELECT substring('Guru99' for 4);
Lệnh sẽ trả về kết quả sau:
Chúng tôi không chỉ định vị trí bắt đầu, do đó việc trích xuất chuỗi con bắt đầu ở vị trí 1. 4 ký tự được trích xuất để trả về giá trị trên.
Ví dụ sau đây cho thấy cách xác định vị trí bắt đầu:
SELECT substring('Guru99' from 1 for 4);
Lệnh sẽ trả về kết quả sau:
Chúng tôi đã chỉ định rằng việc trích xuất chuỗi con phải bắt đầu từ vị trí 1 và phải trích xuất 4 ký tự.
Chúng ta hãy trích xuất 99 từ chuỗi Guru99:
SELECT substring('Guru99' from 5);
Lệnh sẽ trả về kết quả sau:
Chúng tôi đã chỉ định vị trí bắt đầu là 5. Vì số lượng ký tự cần trích xuất không được chỉ định nên quá trình trích xuất sẽ chạy đến cuối chuỗi.
Đây là một ví dụ khác:
SELECT substring('Guru99' from 5 for 2);
Lệnh sẽ trả về kết quả sau:
Chúng ta đã bắt đầu trích xuất ở vị trí thứ 5 và đã trích xuất được 2 ký tự.
Hãy xem xét bảng Sách được đưa ra dưới đây:
Chúng tôi muốn có ý tưởng sơ bộ về tên của mỗi cuốn sách. Tuy nhiên, chúng ta chỉ có thể trích xuất 15 ký tự đầu tiên từ cột tên của bảng:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Lệnh sẽ trả về kết quả sau:
Bây giờ chúng tôi đã có ý tưởng sơ bộ về tên của mỗi cuốn sách.
So khớp các chuỗi con với biểu thức chính quy SQL
In PostgreSQL, chúng ta có thể trích xuất một chuỗi con khớp với biểu thức chính quy POSIX đã chỉ định. Trong trường hợp này, hàm chuỗi con được sử dụng với cú pháp sau:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Dưới đây là giải thích về các thông số trên:
Chuỗi này là chuỗi nguồn có loại dữ liệu là varchar, char, chuỗi, v.v.
matching_pattern là mẫu được sử dụng để tìm kiếm trong chuỗi.
Các ví dụ
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Lệnh sẽ trả về kết quả sau:
Chuỗi đầu vào của chúng ta là tuổi của bạn là 22. Trong mẫu, chúng ta đang tìm kiếm một mẫu số trong chuỗi của mình, khi tìm thấy mẫu này, hàm chuỗi con chỉ nên trích xuất hai ký tự.
Cách so khớp chuỗi con bằng pgAdmin
Bây giờ hãy xem cách các hành động được thực hiện bằng pgAdmin.
Các truy vấn trên mà chúng ta không cần cơ sở dữ liệu có thể được thực hiện trực tiếp từ cửa sổ trình soạn thảo truy vấn. Chỉ cần làm như sau:
Bước 1) Đăng nhập tài khoản của bạn.
Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2) Trên pgAdmin,
Nhấp vào biểu tượng Công cụ truy vấn.
Cửa sổ soạn thảo truy vấn sẽ được mở.
Bước 3) Nhập truy vấn.
Nhập truy vấn sau vào cửa sổ soạn thảo.
SELECT substring('Guru99' for 4);
Bước 4) Thực hiện kiểm tra
Nhấp vào biểu tượng Thực thi để thực hiện truy vấn.
Bước 5) Việc thực hiện truy vấn được thực hiện.
Nó sẽ trả về kết quả sau:
Ví dụ 2:
SELECT substring('Guru99' from 1 for 4);
Nó sẽ trả về kết quả sau:
Đây là ví dụ tiếp theo:
SELECT substring('Guru99' from 5);
Nó sẽ trả về kết quả sau:
Ví dụ 3:
SELECT substring('Guru99' from 5 for 2);
Nó sẽ trả về kết quả sau:
Bây giờ, chúng ta hãy chạy ví dụ bằng bảng Book của cơ sở dữ liệu Demo:
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái-Nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Bước 4) Nhấp vào nút Thực hiện.
Nó sẽ trả về kết quả sau:
Bây giờ chúng ta đã có ý tưởng cơ bản về tên của mỗi cuốn sách.
So khớp các chuỗi con với biểu thức chính quy SQL
Để thực hiện thao tác tương tự trên pgAdmin, hãy làm như sau:
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2) Nhấp vào biểu tượng Công cụ truy vấn.
Cửa sổ soạn thảo truy vấn sẽ được mở.
Bước 3) Nhập truy vấn sau vào cửa sổ soạn thảo.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Bước 4) Nhấp vào biểu tượng Thực thi để thực hiện truy vấn.
Nó sẽ trả về kết quả sau:
Tổng kết
- Sản phẩm PostgreSQL Hàm chuỗi con giúp trích xuất và chỉ trả về một phần của chuỗi.
- Ký tự đầu tiên của chuỗi nằm ở vị trí 1.
- Nếu số lượng ký tự được trích xuất từ chuỗi không được chỉ định, hàm sẽ trích xuất các ký tự từ vị trí bắt đầu được chỉ định đến cuối chuỗi.
- Nếu số ký tự cần trích xuất được chỉ định thì chỉ số ký tự đó sẽ được trích xuất.
Tải xuống Cơ sở dữ liệu được sử dụng trong Hướng dẫn này