Chỉ mục chuỗi con MySQL

Hàm chuỗi con MySQL là một trong các Hàm chuỗi trả về một chuỗi con (một số ký tự được chỉ định) từ một chuỗi đã cho. Bài viết này hướng dẫn bạn cách viết String Substring kèm theo ví dụ

Hàm Chuỗi con cho phép bạn sử dụng các giá trị âm làm đối số Vị trí. Nếu bạn sử dụng các giá trị âm, thì nó sẽ nhìn từ phải sang trái (hoặc vị trí kết thúc đến vị trí bắt đầu). Cú pháp cơ bản của Chuỗi con Chuỗi trong MySQL như hình bên dưới. Ví dụ: TutorialGateway, Vị trí = 5 và Độ dài = 10

-- Starts at r and returns until it reaches to end 
SELECT SUBSTRING(String, Position) FROM Source

-- Starts at r and end at a 
SELECT SUBSTRING(Str, Position, Length)

-- Same as First one but it is standard one
SELECT SUBSTRING(Str FROM Position)

-- Same as Second 
SELECT SUBSTRING(Str FROM Position FOR Length)
  • Str. Một chuỗi hoặc biểu thức hợp lệ mà từ đó muốn trích xuất chuỗi con
  • Chức vụ. Bạn muốn bắt đầu chọn ký tự từ vị trí chỉ mục nào?
  • Chiều dài. Không có ký tự (độ dài ký tự) bạn muốn trích xuất từ ​​Chuỗi

Ví dụ hàm chuỗi con MySQL

Truy vấn sau đây cho thấy nhiều cách để sử dụng hàm Chuỗi con này

Trong câu lệnh đầu tiên, chúng tôi đã sử dụng Chuỗi con để bắt đầu ở vị trí chỉ mục 7

Trong dòng thứ ba, chúng tôi đặt đối số thứ ba của MySQL (độ dài) là 17. Nó có nghĩa là Chuỗi con bắt đầu ở vị trí 7 và trả về 17 ký tự từ vị trí 7

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7) AS Substring1;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 16) AS Substring2;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7, 17) AS Substring3;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 4 FOR 15) AS Substring4;
Substring Example 1

Chuỗi con MySQL Ví dụ 2

Trong ví dụ Hàm chuỗi này, chúng tôi sử dụng các giá trị âm làm đối số vị trí

SELECT SUBSTRING('Tutorial Gateway Provides MySQL Tutorial', -14) AS Substring1;

SELECT SUBSTRING('Tutorial Gateway Provides MySQL Tutorial' FROM -20) AS Substring2;

SELECT SUBSTRING('Tutorial Gateway Provides MySQL Tutorial', -14, 5) AS Substring3;

SELECT SUBSTRING('Tutorial Gateway Provides MySQL Tutorial' FROM -23 FOR 14) AS Substring3;
Example 2

Trong câu lệnh bên dưới, Chúng tôi đã sử dụng câu lệnh này để bắt đầu ở vị trí chỉ mục -14. Nó có nghĩa là chức năng này bắt đầu vị trí chỉ mục từ phía bên phải (i. e. , l) và đếm cho đến khi đạt 14. tiếp theo, nó bắt đầu trả về 14 ký tự đó

Cơ sở dữ liệu của chúng tôi có một bảng tên là

SELECT SUBSTRING('Tutorial Gateway Provides MySQL Tutorial', -14) AS Substring1;

SELECT SUBSTRING('Tutorial Gateway Provides MySQL Tutorial' FROM -20) AS Substring2;

SELECT SUBSTRING('Tutorial Gateway Provides MySQL Tutorial', -14, 5) AS Substring3;

SELECT SUBSTRING('Tutorial Gateway Provides MySQL Tutorial' FROM -23 FOR 14) AS Substring3;
2 với dữ liệu trong các cột
SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
0 và
SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
1. Chúng tôi muốn xóa '
SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
2' ở đầu và '
SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
3' ở cuối mỗi
SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
1

idaddress1www. ví dụ. com2www. Google. com3www. tìm hiểu. com

Giải pháp 1

Để xóa 4 ký tự đầu tiên

________số 8

Để xóa 4 ký tự cuối cùng

SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;

Để xóa 4 ký tự đầu và 4 ký tự cuối

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7) AS Substring1;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 16) AS Substring2;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7, 17) AS Substring3;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 4 FOR 15) AS Substring4;
0

Giải pháp 2

Để xóa 4 ký tự đầu tiên

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7) AS Substring1;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 16) AS Substring2;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7, 17) AS Substring3;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 4 FOR 15) AS Substring4;
1

Để xóa 4 ký tự cuối cùng

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7) AS Substring1;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 16) AS Substring2;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7, 17) AS Substring3;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 4 FOR 15) AS Substring4;
2

Để xóa 4 ký tự đầu và 4 ký tự cuối

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7) AS Substring1;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 16) AS Substring2;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7, 17) AS Substring3;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 4 FOR 15) AS Substring4;
3

Giải pháp 3

Để xóa tất cả các ký tự trước ký tự thứ hai ‘. ' từ bên phải

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7) AS Substring1;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 16) AS Substring2;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7, 17) AS Substring3;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 4 FOR 15) AS Substring4;
4

Để xóa tất cả các ký tự sau ký tự thứ hai ‘. ' từ bên trái

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7) AS Substring1;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 16) AS Substring2;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7, 17) AS Substring3;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 4 FOR 15) AS Substring4;
5

Để xóa tất cả các ký tự sau ký tự thứ hai ‘. ’ từ bên trái, sau đó xóa tất cả các ký tự trước ký tự ‘ đầu tiên. ' từ bên phải

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7) AS Substring1;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 16) AS Substring2;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway', 7, 17) AS Substring3;

SELECT SUBSTRING('Learn MySQL at Tutorial Gateway' FROM 4 FOR 15) AS Substring4;
6

Kết quả là

substringexamplegooglelearnsql

Thảo luận

Cả giải pháp thứ nhất và thứ hai đều xóa một số ký tự được chỉ định khỏi văn bản bằng hàm

SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
5 hoặc
SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
6.
SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
5 là từ đồng nghĩa với
SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
6. Cả hai đều yêu cầu chuỗi và vị trí bắt đầu làm đối số. Đối số cuối cùng, xác định số lượng ký tự cần trích xuất, là tùy chọn. Nếu đối số cuối cùng bị bỏ qua, toàn bộ chuỗi (từ điểm bắt đầu) sẽ được trả về

Trong giải pháp thứ ba, hàm

SELECT
SUBSTR(address, 1, LENGTH(address) -4) AS substring
FROM web_address;
9 xóa văn bản trước hoặc sau các ký tự được chỉ định. Nó yêu cầu đối số là chuỗi, ký tự và số lượng phiên bản của ký tự sẽ gặp ở nơi bắt đầu trích xuất văn bản

Chỉ mục chuỗi con trong MySQL là gì?

Hàm SUBSTRING_INDEX() trong MySQL được dùng để trả về một chuỗi con từ một chuỗi trước một số lần xuất hiện của dấu phân cách được chỉ định . cú pháp. SUBSTRING_INDEX( str, delim, count )

Làm cách nào để lấy 5 ký tự đầu tiên của chuỗi trong MySQL?

hàm LEFT() . Cả số và chuỗi đều được cung cấp làm đối số của hàm. Chuỗi mà từ đó một số ký tự từ bên trái sẽ được trả về.

Làm cách nào để tìm một chuỗi con trong MySQL?

Hàm LOCATE() của MySQL . Nếu không tìm thấy chuỗi con trong chuỗi gốc, hàm này trả về 0. Hàm này thực hiện tìm kiếm không phân biệt chữ hoa chữ thường. Ghi chú. Hàm này tương đương với hàm POSITION().

Làm cách nào để lấy 3 ký tự cuối cùng từ một chuỗi trong MySQL?

CHỌN *TỪ ĐẶT HÀNG TỪ yourTableName THEO QUYỀN(yourColumnName,3) yourSortingOrder ; . Đây là truy vấn để đặt hàng theo 3 ký tự cuối cùng. Trường hợp 1 - Lấy kết quả theo thứ tự tăng dần.