PostgreSQL Hàm SUBSTRING() với ví dụ về Regex

Là gì PostgreSQL Chuỗi con?

PostgreSQL Hàm substring giúp bạn ví dụ nhưtracHàm `t` 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

PostgreSQL hàm chuỗi con có cú pháp như sau:

substring( string [from starting_position] [for length] )

Thông số Kỹ thuật

Họ tên Mô tả Chi tiế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 Đây là một tham số tùy chọn. Nó biểu thị vị trí mà quá trình xử lý diễn ra.tracquá trình xử lý chuỗi sẽ bắt đầu. Nếu bạn bỏ qua tham số này, ví dụtracQuá trình sẽ bắt đầu từ vị trí 1, tức là ký tự đầu tiên trong chuỗi.
chiều dài Đây là một tham số tùy chọn. Nó biểu thị số lượng ký tự cần được hiển thị.tracđược trích xuất từ ​​chuỗi. Nếu bạn bỏ qua tham số này, hàm sẽ sử dụng...tract từ vị trí bắt đầu đến cuối chuỗi.

Các ví dụ

Trong ví dụ này, chúng ta muốn...tract 4 ký tự đầu tiên của từ Guru99:

SELECT substring('Guru99' for 4);

Lệnh sẽ trả về kết quả sau:

PostgreSQL Chuỗi con

Chúng tôi không chỉ định vị trí bắt đầu, vì vậy...tracViệc lặp lại chuỗi con bắt đầu từ vị trí 1. 4 ký tự đã được lấy ra.tracTôi đã trả lại những thứ ở 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:

PostgreSQL Chuỗi con

Chúng tôi đã chỉ rõ rằng extracViệc trích xuất chuỗi con nên bắt đầu từ vị trí 1 và phải bao gồm 4 ký tự.tracted.

Chúng ta hãy cùng thảo luận.tract 99 từ chuỗi Guru99:

SELECT substring('Guru99' from 5);

Lệnh sẽ trả về kết quả sau:

PostgreSQL Chuỗi con

Chúng tôi đã chỉ định vị trí bắt đầu là 5. Vì số lượng ký tự cần lấy ra là...tracted không được chỉ định, ví dụtracquá trình chạy đến hết 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:

PostgreSQL Chuỗi con

Chúng tôi đã bắt đầu extracvị trí thứ 5, và 2 ký tự đã bị loại bỏ.tracted.

Hãy xem xét bảng Sách được đưa ra dưới đây:

PostgreSQL Chuỗi con

Chúng tôi muốn có một ý tưởng sơ bộ về tên của mỗi cuốn sách. Tuy nhiên, chúng ta có thể...tracChỉ lấy 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:

PostgreSQL Chuỗi con

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 PostgreSQLchúng ta có thể ví dụtracmột chuỗi con khớp với biểu thức chính quy POSIX được chỉ định. Trong trường hợp này, hàm substring đượ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:

So khớp các chuỗi con với biểu thức chính quy SQL

Chuỗi đầu vào của chúng ta là "Tuổi của bạn là 22". Trong mẫu này, 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 substring chỉ nên loại bỏ một phần tử nhất định.trachai 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.

So khớp chuỗi con bằng pgAdmin

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.

So khớp chuỗi con bằng pgAdmin

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:

So khớp chuỗi con bằng pgAdmin

Ví dụ 2:

SELECT substring('Guru99' from 1 for 4);

Nó sẽ trả về kết quả sau:

So khớp chuỗi con bằng pgAdmin

Đây là ví dụ tiếp theo:

SELECT substring('Guru99' from 5);

Nó sẽ trả về kết quả sau:

So khớp chuỗi con bằng pgAdmin

Ví dụ 3:

SELECT substring('Guru99' from 5 for 2);

Nó sẽ trả về kết quả sau:

So khớp chuỗi con bằng pgAdmin

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)

  1. Từ thanh điều hướng ở bên trái-Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Bản trình diễn.

So khớp chuỗi con bằng pgAdmin

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.

So khớp chuỗi con bằng pgAdmin

Nó sẽ trả về kết quả sau:

PostgreSQL Chuỗi con

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.

So khớp các chuỗi con với biểu thức chính quy SQL

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.

So khớp các chuỗi con với biểu thức chính quy SQL

Nó sẽ trả về kết quả sau:

So khớp các chuỗi con với biểu thức chính quy SQL

Tổng kết

  • PostgreSQL Hàm substring giúp ích trong ví dụtracvà 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ần hiển thịtracNếu tham số được lấy từ chuỗi không được chỉ định, hàm sẽ sử dụng ví dụ sau:tract ký tự từ vị trí bắt đầu được chỉ định đến cuối chuỗi.
  • Nếu số lượng ký tự cần hiển thịtracNếu ted được chỉ định, chỉ số lượng ký tự đó sẽ được hiển thị.tracted.

Tải xuống Cơ sở dữ liệu được sử dụng trong Hướng dẫn này

Tóm tắt bài viết này với: