Tạo chuỗi con của chuỗi trong PostgreSQL

Tao Chuoi Con Cua Chuoi Trong Postgresql



Có những trường hợp bạn có thể muốn trích xuất một phần (chuỗi con) nhất định từ một chuỗi. Có thể là bạn chỉ quan tâm đến phần nhất định và muốn loại bỏ phần còn lại của chuỗi trong kết quả đầu ra của mình. Hãy tưởng tượng trường hợp bạn có tên đầy đủ, chẳng hạn như “fname lname” dưới dạng một chuỗi và bạn chỉ muốn trích xuất “fname” trong đầu ra của mình. Để làm được điều đó, bạn phải sử dụng hàm chuỗi con PostgreSQL. Chúng tôi đã chuẩn bị hướng dẫn chi tiết để bạn làm theo, bao gồm các ví dụ để giúp bạn hiểu cách tạo chuỗi con trong PostgreSQL.

Ví dụ về Cách tạo chuỗi con trong PostgreSQL

Điều đầu tiên chúng ta phải kiểm tra là cú pháp.

SUBSTRING(chuỗi/tên_cột,vị_trí_bắt_đầu, độ dài)

Trong cú pháp đã cho, bạn có thể chỉ định chuỗi mà bạn muốn tạo chuỗi con hoặc chỉ định cột trong bảng của mình. Tiếp theo, bạn phải chỉ định vị trí trong chuỗi nơi bạn muốn bắt đầu chuỗi con. Cuối cùng, chỉ định độ dài của chuỗi con hoặc vị trí cuối của chuỗi. Hãy lấy một vài ví dụ để thấy nó hoạt động.







Ví dụ 1: Chỉ định độ dài chuỗi con

Khi bạn có chuỗi mục tiêu, bạn có thể đặt độ dài của chuỗi con. Ví dụ: nếu bạn có chuỗi là “Linuxhint” và bạn muốn tạo chuỗi con của mình là “Linux”, hãy thực hiện lệnh sau:



CHỌN SUBSTRING('Linuxhint' TỪ 1 CHO 5) LÀM tên người dùng;

Chúng tôi đang sử dụng từ khóa FROM để chỉ định vị trí bắt đầu và từ khóa FOR để chỉ định độ dài của chuỗi con. “Tên người dùng” là tên mà chúng tôi đặt cho đầu ra của mình.



Chúng tôi nhận được đầu ra sau bằng cách thực hiện lệnh. Lưu ý cách chúng tôi lấy chuỗi con mong muốn làm đầu ra:





Giả sử bạn muốn tạo chuỗi con từ vị trí bắt đầu khác trong chuỗi của mình. Ví dụ: nếu bạn muốn “gợi ý” làm chuỗi con, bạn chỉ cần thay đổi vị trí bắt đầu và độ dài.



Để làm được điều đó, chúng tôi thực hiện lệnh của mình như sau:

Ví dụ 2: Xác định vị trí của chuỗi con

Đôi khi, bạn có thể có chuỗi của mình nhưng không biết chính xác độ dài của chuỗi con. Tuy nhiên, bạn có thể chỉ định vị trí bắt đầu tạo chuỗi con. Đầu ra hiển thị tất cả các phần chuỗi từ vị trí đã chỉ định cho đến hết.

Trong ví dụ này, chúng tôi có chuỗi của mình là “Xin chào Linuxhint”. Để lấy “Linuxhint” làm chuỗi con mà không chỉ định vị trí của nó, chúng ta chỉ cần xác định vị trí mà chúng ta muốn tạo chuỗi con. Trong trường hợp này, chúng tôi bắt đầu TỪ vị trí 6. Do đó, lệnh của chúng tôi như sau:

CHỌN SUBSTRING('Xin chào Linuxhint' TỪ 6) LÀM tên người dùng;

Ví dụ 3: Chỉ định vị trí bắt đầu và kết thúc

Cho một chuỗi, bạn có thể tạo chuỗi con bằng cách chỉ định vị trí bắt đầu và kết thúc. Bằng cách này, ngay cả khi độ dài của chuỗi dài hơn chuỗi con mong muốn, nó sẽ chỉ tạo chuỗi dựa trên vị trí bắt đầu và kết thúc được chỉ định.

Sử dụng “Hello Linuxhint” làm chuỗi, chúng ta có thể tạo chuỗi con là “Hello Linux” và bỏ qua các phần khác bằng cách chỉ định vị trí bắt đầu và kết thúc như sau:

CHỌN SUBSTRING('Xin chào Linuxhint', 1, 11) NHƯ tên người dùng;

Không cần từ khóa cho trường hợp này, chỉ cần vị trí bắt đầu và kết thúc.

Ví dụ 4: Làm việc với Bảng PostgreSQL

Bạn cũng có thể tạo chuỗi con dựa trên các giá trị bạn chọn từ một cột nhất định trong bảng của mình. Trong ví dụ của chúng tôi, chúng tôi sử dụng bảng “khách hàng”.

Giả sử chúng tôi đang nhắm mục tiêu cột “cust_email” và chúng tôi muốn tạo chuỗi con bằng cách chỉ định độ dài. Chúng ta sẽ có lệnh như sau:

Lưu ý rằng, đối với mỗi giá trị trong cột, đầu ra là một chuỗi con có độ dài bằng 3 của chuỗi gốc.

Hãy cập nhật bảng với tên đầy đủ trong cột tên của chúng tôi. Bảng mới của chúng tôi trông như sau:

Bây giờ, nếu chúng ta chỉ muốn trích xuất phần đầu tiên từ cột tên, tức là tên của mỗi khách hàng, thì việc tạo một chuỗi con cho cột tên sẽ thực hiện được thủ thuật. Ở đây, chúng ta phải xác định vị trí bắt đầu. Đối với độ dài của chuỗi con, chúng tôi đặt nó là vị trí trong mỗi chuỗi có khoảng trắng.

Khoảng trắng đánh dấu sự tách biệt giữa họ và tên. Do đó, lệnh của chúng tôi kiểm tra vị trí bắt đầu của khoảng trắng trong chuỗi. Sau đó, chọn chuỗi con từ vị trí đầu tiên đến nơi giao nhau với khoảng trắng.

Chúng tôi chạy lệnh của chúng tôi như sau:

CHỌN order_id, SUBSTRING(tên TỪ 1 CHO VỊ TRÍ(‘ ‘ TRONG tên) – 1) NHƯ client_fname TỪ khách hàng;

Chúng tôi chọn “order_id” và chuỗi con và đầu ra của chúng tôi xuất hiện như sau:

Đó là cách bạn có thể tạo chuỗi con từ các chuỗi trong bảng PostgreSQL.

Phần kết luận

PostgreSQL cung cấp chức năng chuỗi con cho phép người dùng tạo chuỗi con bằng các tiêu chí khác nhau. Tùy thuộc vào mục tiêu của bạn, bạn có thể chỉ định độ dài của chuỗi con hoặc vị trí bắt đầu và kết thúc. Các ví dụ được đề cập trong bài đăng này sẽ giúp bạn làm quen với việc tạo chuỗi con trong PostgreSQL. Tiếp tục thực hành để nắm bắt khái niệm.