Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các hàm
1 vàCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
2 của MySQL. Cả hai chức năng làm điều tương tự nhưng có tên khác nhau.Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
1 vàCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
2 là một trong những hàm chuỗi được sử dụng rộng rãi nhất trong MySQL. Tôi sẽ đề nghị bạn chơi xung quanh với họ và thực hànhCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Sử dụng phương thức SUBSTR[] để lấy chuỗi con của một cột
Trước tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable -> [ -> Title text -> ]; Query OK, 0 rows affected [0.74 sec]
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable values['This is a MySQL Database']; Query OK, 1 row affected [0.19 sec] mysql> insert into DemoTable values['Java is an Object Oriented Programming Language']; Query OK, 1 row affected [0.17 sec]
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select *from DemoTable ;
đầu ra
Điều này sẽ tạo ra đầu ra sau -
+-------------------------------------------------+ | Title | +-------------------------------------------------+ | This is a MySQL Database | | Java is an Object Oriented Programming Language | +-------------------------------------------------+ 2 rows in set [0.00 sec]
Đây là truy vấn để chọn chuỗi con của một cột -
________số 8đầu ra
Điều này sẽ tạo ra đầu ra sau -
+-----------------------+ | [substr[Title, 1, 8]] | +-----------------------+ | This is | | Java is | +-----------------------+ 2 rows in set [0.00 sec]
Cập nhật ngày 30-Jun-2020 13. 44. 57
Bản tóm tắt. trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn hàm MySQL SUBSTRING để trích xuất một chuỗi con từ một chuỗi
Hàm
01 trả về một chuỗi con có độ dài nhất định từ một chuỗi bắt đầu tại một vị trí cụ thể. MySQL cung cấp nhiều dạng khác nhau của hàm chuỗi conCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Chúng ta sẽ xem xét từng dạng của hàm
01 trong các phần sauCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
MySQL SUBSTRING với tham số vị trí
Sau đây minh họa dạng đầu tiên của hàm
01
SUBSTRING[string FROM start FOR length];
Code language: SQL [Structured Query Language] [sql]
3Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Hàm substring[] có hai tham số
04 chỉ định chuỗi mà bạn trích xuất chuỗi con
Code language: SQL [Structured Query Language] [sql]SUBSTRING[string FROM start FOR length];
05 là một số nguyên xác định ký tự bắt đầu của chuỗi con.
Code language: SQL [Structured Query Language] [sql]SUBSTRING[string FROM start FOR length];
05 có thể là số nguyên dương hoặc âm
Code language: SQL [Structured Query Language] [sql]SUBSTRING[string FROM start FOR length];
Nếu vị trí là dương, hàm
01 trích xuất chuỗi con từ đầu chuỗi. Xem chuỗi sauCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Ví dụ, để lấy “
01” ra khỏi chuỗi “Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
09”, vị trí của chuỗi con phải là 7 như câu lệnhCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
00 sauCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
0Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Dùng thử
Nếu vị trí là âm, hàm
01 trích xuất chuỗi con từ cuối chuỗi. Xem chuỗi ”Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
02” sauCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Để lấy “
01” ra khỏi “Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
09” sử dụng vị trí phủ định, bạn phải chuyểnCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
05 cho đối số
SUBSTRING[string FROM start FOR length];
Code language: SQL [Structured Query Language] [sql]
05 như sauCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
0Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Dùng thử
Lưu ý rằng nếu vị trí bằng 0, hàm
01 trả về một chuỗi rỗngCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
0Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Dùng thử
Bên cạnh cú pháp dành riêng cho MySQL, bạn có thể sử dụng cú pháp chuẩn SQL với từ khóa
08 để gọi hàmCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
01Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Ví dụ: câu lệnh sau nhận ____101 từ chuỗi ____109 bằng cú pháp chuẩn SQL
5Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Dùng thử
MySQL SUBSTRING với vị trí và độ dài
Nếu bạn muốn chỉ định độ dài của chuỗi con mà bạn muốn trích xuất từ một chuỗi, bạn có thể sử dụng mẫu sau của hàm
01Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
7Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Sau đây là phiên bản tiêu chuẩn SQL của câu lệnh trên, dài hơn nhưng biểu cảm hơn
8Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Bên cạnh các đối số chuỗi và vị trí, hàm
01 có thêm một đối số độ dài. Độ dài là một số nguyên dương xác định số ký tự của chuỗi con
SUBSTRING[string FROM start FOR length];
Code language: SQL [Structured Query Language] [sql]
Nếu tổng vị trí và độ dài lớn hơn số ký tự của chuỗi, hàm
01 trả về chuỗi con bắt đầu từ vị trí đến cuối chuỗiCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Ví dụ: để lấy “
05” từ “Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
09“, bạn sử dụng câu lệnh sauCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
mysql> create table DemoTable -> [ -> Title text -> ]; Query OK, 0 rows affected [0.74 sec]3
Dùng thử
Hoặc
mysql> create table DemoTable -> [ -> Title text -> ]; Query OK, 0 rows affected [0.74 sec]4
Dùng thử
Trong trường hợp bạn muốn sử dụng vị trí phủ định, bạn sử dụng câu lệnh sau
mysql> create table DemoTable -> [ -> Title text -> ]; Query OK, 0 rows affected [0.74 sec]5
Dùng thử
Hoặc với cú pháp
07Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
00Code language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Dùng thử
08 là từ đồng nghĩa củaCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
09 nên bạn có thể sử dụng cả hai thay thế cho nhauCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];
Trong hướng dẫn này, bạn đã học về hàm
01 để trích xuất một chuỗi con có độ dài cho trước từ một chuỗi bắt đầu tại một vị trí cụ thểCode language: SQL [Structured Query Language] [sql]
SUBSTRING[string FROM start FOR length];