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

Hàm MySQL SUBSTRING_INDEX trả về chuỗi con của chuỗi trước số lần xuất hiện của dấu phân cách

cú pháp

Cú pháp của hàm SUBSTRING_INDEX trong MySQL là

SUBSTRING_INDEX[ string, delimiter, number ]

Tham số hoặc Đối số

stringChuỗi nguồn. delimiterDấu phân cách để tìm kiếm trong chuỗi. number Số lần tìm kiếm dấu phân cách

Ghi chú

  • Nếu số là một giá trị dương, thì mọi thứ từ bên trái của dấu phân cách được nhắm mục tiêu sẽ được hàm SUBSTRING_INDEX trả về
  • Nếu số là một giá trị âm, mọi thứ từ bên phải của dấu phân cách được nhắm mục tiêu sẽ được hàm SUBSTRING_INDEX trả về
  • Xem thêm hàm SUBSTRING

Áp dụng đối với

Hàm SUBSTRING_INDEX có thể được sử dụng trong các phiên bản sau của MySQL

  • mysql 5. 7, MySQL5. 6, MySQL5. 5, MySQL5. 1, MySQL5. 0, MySQL4. 1, MySQL4. 0, Mysql 3. 23

Ví dụ

Hãy xem một số ví dụ về hàm SUBSTRING_INDEX của MySQL và khám phá cách sử dụng hàm SUBSTRING_INDEX trong MySQL

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về hàm MySQL SUBSTRING_INDEX[]. SUBSTRING_INDEX[] là một hàm chuỗi được sử dụng để trả về chuỗi con của một chuỗi trước một số lần xuất hiện cụ thể của một dấu phân cách đã cho

Chẳng hạn, bạn có giá trị chuỗi sau – “192. 168. 1. 10”

Bây giờ nếu bạn chỉ định dấu phân cách là ‘. ’ và số lần xuất hiện của nó và 2 thì hàm SUBSTRING_INDEX[] sẽ trả về “192. 168” là kết quả của chúng tôi

Vì vậy, chúng tôi đang trích xuất chuỗi con từ chuỗi cho đến lần xuất hiện thứ hai của '. ’ dấu phân cách. SUBSTRING_INDEX[] thường được sử dụng với câu lệnh

SELECT SUBSTRING_INDEX[‘support@helpdesk.com’, ‘@’, 1] AS Result; SELECT SUBSTRING_INDEX[‘support@helpdesk.com’, ‘@’, 2] AS Result; SELECT SUBSTRING_INDEX[‘www.yahoo.co.in’, ‘.’, 3] AS Result;

Code language: SQL [Structured Query Language] [sql]
0.  

Cú pháp của MySQL SUBSTRING_INDEX[]

SUBSTRING_INDEX[string, delimiter, number];

Code language: SQL [Structured Query Language] [sql]

Ở đâu

  • 'chuỗi' là chuỗi mà bạn muốn trích xuất chuỗi con,
  • 'dấu phân cách' là dấu phân cách để tìm kiếm và,
  • 'số' là số lần xuất hiện của dấu phân cách

Ghi chú

  1. Tất cả các thông số trên đều là thông số bắt buộc
  2. Tham số 'số' có thể có các số nguyên dương và âm làm giá trị. Nếu giá trị là một số nguyên dương, thì số lần xuất hiện của dấu phân cách được tìm kiếm từ phía bên trái. Nếu giá trị là một số nguyên âm, thì số lần xuất hiện của dấu phân cách được tìm kiếm từ phía bên phải

Ví dụ về MySQL SUBSTRING_INDEX[]

Chúng ta hãy xem xét một số truy vấn cơ bản thể hiện chức năng MySQL SUBSTRING_INDEX[]. Chúng tôi sẽ sử dụng bí danh trong các truy vấn để làm cho đầu ra của chúng tôi có thể đọc được. Hãy xem xét các truy vấn dưới đây

SELECT SUBSTRING_INDEX[‘support@helpdesk.com’, ‘@’, 1] AS Result; SELECT SUBSTRING_INDEX[‘support@helpdesk.com’, ‘@’, 2] AS Result; SELECT SUBSTRING_INDEX[‘www.yahoo.co.in’, ‘.’, 3] AS Result;

Code language: SQL [Structured Query Language] [sql]
  • Trong truy vấn đầu tiên, chúng tôi muốn chuỗi con xuất hiện lần đầu tiên của dấu phân cách '@'
  • Trong truy vấn thứ hai, chúng tôi muốn chuỗi con xuất hiện lần thứ hai của dấu phân cách '@'
  • Và, trong truy vấn thứ ba, chúng tôi muốn chuỗi con tồn tại cho đến lần xuất hiện thứ ba của dấu phân cách ‘. ’

Đầu ra như sau,

MySQL SUBSTRING_INDEX[] Với các giá trị âm cho số dấu phân cách

Như tôi đã đề cập trước đó khi thảo luận về cú pháp, chúng ta có thể sử dụng số nguyên âm làm giá trị trong tham số 'số'. Một số nguyên âm biểu thị số lần xuất hiện của dấu phân cách từ phía bên phải. Chúng ta hãy xem một vài ví dụ về điều này

Hãy xem xét các truy vấn dưới đây

SELECT SUBSTRING_INDEX['www.yahoo.co.in', '.', -1] AS Result; SELECT SUBSTRING_INDEX['www.yahoo.co.in', '.', -3] AS Result;

Code language: SQL [Structured Query Language] [sql]

Và đầu ra là,

Làm việc với dữ liệu bảng

Chúng ta hãy xem xét một vài ví dụ về bảng. Xem xét bảng Nhân viên bên dưới

bảng nhân viên

Ví dụ đơn giản với dữ liệu bảng

Làm cách nào để tìm năm tham gia của mọi nhân viên từ cột Date_Joined bằng MySQL SUBSTRING_INDEX[]?

SELECT eid, Name, SUBSTRING_INDEX[Date_Joined, ‘-’, 1] AS JoiningYear FROM Employee;

Code language: SQL [Structured Query Language] [sql]

Và đầu ra là,

Hàm SUBSTRING_INDEX[] lồng nhau

Bây giờ, chúng ta hãy tìm tháng gia nhập của mỗi nhân viên từ cột Date_Joined bằng cách sử dụng SUBSTRING_INDEX[]

SELECT eid, Name, SUBSTRING_INDEX[SUBSTRING_INDEX[Date_Joined, ‘-’, 2], ‘-’, -1] AS JoiningMonth FROM Employee;

Code language: SQL [Structured Query Language] [sql]

Hàm MySQL SUBSTRING_INDEX[] bên trong sẽ trích xuất các giá trị năm và tháng. Hàm SUBSTRING_INDEX[] bên ngoài có một giá trị âm là tham số 'số'. Do đó, nó sẽ trích xuất chuỗi con từ phía bên phải cho đến lần xuất hiện đầu tiên của dấu phân cách '-'

Và đầu ra của chúng tôi là,

Các hàm SUBSTRING_INDEX[] lồng nhau với các dấu phân cách khác nhau

Bây giờ làm thế nào về việc sử dụng một logic tương tự và hiển thị dịch vụ email nào mà mọi nhân viên sử dụng? . phần com’ không nên có trong kết quả. Vì vậy, truy vấn của chúng tôi là,

SELECT eid, Name, SUBSTRING_INDEX[SUBSTRING_INDEX[Email, ‘@’, -1], ‘.’, 1] AS EmailServiceUsed FROM Employee;

Code language: SQL [Structured Query Language] [sql]

Hàm SUBSTRING_INDEX[] bên trong sẽ trích xuất phần tên miền từ địa chỉ email. Phần này sẽ chứa tên trang web cũng như ‘. phần com. Nhưng vì chúng tôi không muốn ‘. com’ trong tập hợp kết quả của chúng tôi, chúng tôi sử dụng chức năng bên ngoài SUBSTRING_INDEX[] để lấy tên trang web

Đầu ra của chúng tôi là,

Phần kết luận

Hàm SUBSTRING_INDEX[] là một hàm rất mạnh trong MySQL và là một hàm bạn sẽ thấy sử dụng thường xuyên. Tôi thực sự khuyên bạn nên thực hành nhiều ví dụ hơn về nó bằng cách thử với nó

Làm cách nào để lấy chỉ mục của một chuỗi con trong MySQL?

Chúng ta có thể tìm thấy chỉ mục của lần xuất hiện đầu tiên của một chuỗi con đã cho trong MySQL bằng cách sử dụng hàm INSTR[] như sau. Nó sẽ hiển thị 5 , lần xuất hiện đầu tiên của chuỗi con đã chỉ định, trong trường hợp này là dấu gạch dưới _.

Chuỗi con hoạt động như thế nào trong MySQL?

Hàm SUBSTRING[] trích xuất một chuỗi con từ một chuỗi [bắt đầu từ bất kỳ vị trí nào] . Ghi chú. Các hàm SUBSTR[] và MID[] bằng với hàm SUBSTRING[].

Chuỗi con trong SQL là gì?

SUBSTRING trong SQL là gì? . Với sự trợ giúp của chức năng này, bạn có thể truy xuất bất kỳ số lượng chuỗi con nào từ một chuỗi. a function used to retrieve characters from a string. With the help of this function, you can retrieve any number of substrings from a single string.

Mục đích của hàm chuỗi con là gì?

SUBSTRING là hàm thao tác chuỗi thao tác tất cả các loại dữ liệu chuỗi [BIT, BLOB và KÝ TỰ] và trích xuất các ký tự từ một chuỗi để tạo một chuỗi khác.

Chủ Đề