Những gì được tìm thấy trong tập hợp trong mysql?

Find_in_set[string,str list] là một hàm Chuỗi của MySQL. Phương thức này trả về giá trị của chuỗi được đưa ra ở vị trí đầu tiên trong đối số

cú pháp

ví dụ 1

đầu ra


ví dụ 2

đầu ra


ví dụ 3

đầu ra


Hàm FIND_IN_SET của Ngôn ngữ truy vấn có cấu trúc hiển thị vị trí của chuỗi được tìm kiếm trong nhiều chuỗi

Cú pháp của hàm chuỗi FIND_IN_SET

Cú pháp1. Cú pháp này sử dụng hàm FIND_IN_SET với hai hoặc nhiều tên cột của bảng SQL

Trong cú pháp Find_In_Set, chúng ta phải chỉ định tên của các cột mà chúng ta muốn tìm kiếm một chuỗi

Cú pháp2. Cú pháp này sử dụng hàm FIND_IN_SET với chuỗi

Cú pháp3. Cú pháp này sử dụng hàm FIND_IN_SET với ký tự riêng lẻ

Ví dụ về Hàm chuỗi FIND_IN_SET

ví dụ 1. Truy vấn bên dưới hiển thị vị trí của ký tự 'S' trong danh sách ký tự đã cho

đầu ra

ví dụ 2. Câu lệnh dưới đây cho biết vị trí của ký tự 'u' trong chuỗi Chúc mừng

CHỌN FIND_IN_SET[ 'u', ''C, o, n, g, r, a, t, u, l, a, t, i, o, n, s ''] AS Wishes u_Findinset;

đầu ra

ví dụ 3. Truy vấn CHỌN sau tìm vị trí của chuỗi 'Mới' trong danh sách các chuỗi

đầu ra

Ví dụ 4. Ví dụ này sử dụng hàm FIND_IN_SET với bảng trong Ngôn ngữ truy vấn có cấu trúc

Trong ví dụ này, chúng ta phải tạo một bảng SQL mới qua đó chúng ta sẽ thực thi hàm FIND_IN_SET[] trên các cột

Cú pháp tạo bảng mới trong cơ sở dữ liệu SQL như sau

Câu lệnh CREATE sau đây tạo bảng Student_Grade

Các truy vấn INSERT bên dưới chèn các bản ghi của học sinh có điểm và điểm vào bảng Student_Grade

Câu lệnh SELECT sau hiển thị các bản ghi đã chèn của bảng Student_Grade ở trên


Roll_NoFirst_NameLast_NameFirst_CitySecond_CityNew_CityHindi_MarksMaths_MarksGrade10AmanSharmaLucknowChandigarhGhaziabad8895A202VishalSharmaChandigarhGhaziabadGhaziabad9582A107RajGuptaDelhiGhaziabadLucknow9195A104YashSinghaniaGhaziabadDelhiLucknow8582A211VinayRoyDelhiKanpurGhaziabad9597A116ManojGuptaGhaziabadMeerutChandigarh9590B119RamGuptaLucknowGhaziabadChandigarh8995A2

truy vấn 1. Truy vấn SELECT sau đây sử dụng hàm FIND_IN_SET với các cột First_City, Second_City, New_City của bảng Student_Grade ở trên

Câu lệnh SQL này hiển thị vị trí của thành phố Ghaziabad trong ba cột đã cho của bảng

đầu ra

First_CitySecond_CityNew_CityGhaziabad_FindinsetLucknowChandigarhGhaziabad3ChandigarhGhaziabadGhaziabad3DelhiGhaziabadLucknow2GhaziabadDelhiLucknow1DelhiKanpurGhaziabad3GhaziabadMeerutChandigarh1LucknowGhaziabadChandigarh2

truy vấn 2. Truy vấn SELECT sau đây sử dụng hàm FIND_IN_SET với cột Hindi_Marks và Maths_Marks của những Học sinh có Roll_No lớn hơn 2 trong bảng Student_Grade ở trên

Nhưng họ không. Bạn có thể nhầm lẫn với chúng hoặc không biết khi nào nên sử dụng IN[] hoặc FIND_IN_SET[]. Có tình huống cụ thể cho cả hai chức năng MySQL

Để hiểu rõ hơn, hãy giả sử một người dùng bảng

Bàn. người sử dụng

userridnameagefav_color1Hitesh Shrimali29Xanh lục, Xanh lam2Jeetendra Sharma 31Xanh lam, Hồng3Ram Singh29Đỏ, Xanh lam
  • Hàm mysql IN[]

Hàm này được sử dụng khi chúng ta muốn so sánh trường [chứa một giá trị] với danh sách các giá trị trong cơ sở dữ liệu

1

Ví dụ Chọn * Từ người dùng Where userid IN [1, 2];

Kết quả – truy vấn sẽ trả về 2 hàng với userid 1 và 2

  • hàm mysql FIND_IN_SET[]

Hàm này được sử dụng khi bất kỳ trường nào chứa các giá trị được phân tách bằng dấu phẩy trong đó và chúng tôi muốn so sánh nó với một giá trị

Hàm FIND_IN_SET[] của MySQL là một hàm chuỗi MySQL tích hợp chịu trách nhiệm khám phá vị trí của một chuỗi cụ thể đã cho được cung cấp trong danh sách các chuỗi được phân tách bằng dấu phẩy. Hàm FIND_IN_SET[] chấp nhận hai đối số cho phép khớp giá trị đầu tiên với giá trị thứ hai chứa danh sách các giá trị dưới dạng chuỗi con được phân tách bằng ký tự dấu phẩy

Nói chung, hàm FIND_IN_SET[] áp dụng cho bất kỳ trường nào trong bảng cơ sở dữ liệu với một chuỗi giá trị được phân biệt bằng dấu phẩy. Điều này là do người dùng muốn thực hiện so sánh các giá trị đó với một giá trị cụ thể. Do đó, nó trả về chỉ mục của chuỗi phù hợp trong danh sách

Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn

Hadoop, Khoa học dữ liệu, Thống kê và những thứ khác

cú pháp

Sau đây là cấu trúc cú pháp minh họa việc sử dụng hàm FIND_IN_SET[] trong máy chủ MySQL

FIND_IN_SET[string1, stringlist];

Hãy để chúng tôi mô tả hai tham số đã cho được hàm FIND_IN_SET[] chấp nhận

Gói khoa học dữ liệu tất cả trong một[360+ khóa học, hơn 50 dự án]

Giá
Xem khóa học

360+ Khóa học trực tuyến. hơn 50 dự án. Hơn 1500 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 7 [83.410 lượt xếp hạng]

  • Tham số ban đầu có tên string1 xác định chuỗi mà bạn cần tìm
  • Tham số tiếp theo có tên stringlist biểu thị danh sách các chuỗi được phân biệt bằng dấu phẩy sẽ được kiểm tra

Theo giá trị của các đối số hàm, MySQL FIND_IN_SET[] sẽ trả về giá trị dưới dạng số nguyên hoặc NULL

  • Nếu một trong hai tham số của hàm, i. e. string1 hoặc stringlist, có giá trị NULL thì hàm trả về giá trị là NULL
  • Nếu danh sách chuỗi tham số chứa một chuỗi trống hoặc tham số string1 không có trong danh sách chuỗi thì hàm trả về 0 làm giá trị đầu ra
  • Nếu tham số string1 có sẵn trong stringlist thì hàm trả về giá trị nguyên dương

Nhưng lưu ý rằng nếu chuỗi1 bao gồm dấu phẩy [,], thì hàm FIND_IN_SET[] không hoạt động bình thường khi thực thi. Hơn nữa, nếu tham số string1 là một chuỗi không đổi và danh sách chuỗi tham số khác biểu thị một cột kiểu SET, thì máy chủ MySQL sẽ thực hiện tối ưu hóa số học bit

Hàm FIND_IN_SET[] hoạt động như thế nào trong MySQL?

MySQL bao gồm nhiều cơ sở dữ liệu và cơ sở dữ liệu bao gồm các bảng khác nhau. Các bảng này chứa dữ liệu ở dạng các loại dữ liệu được MySQL hỗ trợ khác nhau, trong đó hầu hết các số nguyên và chuỗi được sử dụng phổ biến nhất

Khi người dùng MySQL muốn tìm hiểu xem một chuỗi cụ thể có thoát trong bất kỳ chuỗi chuỗi nhất định nào được chia cho ký hiệu dấu phẩy [,] nhằm thực hiện bất kỳ truy vấn nào hay không, thì có thể áp dụng hàm chuỗi MySQL tích hợp FIND_IN_SET[]

Hàm này cung cấp giá trị cần thiết tùy thuộc vào kết quả tìm kiếm. Ví dụ: giả sử chúng ta đang minh họa truy vấn sau để chỉ ra cách thức hoạt động của hàm trong MySQL

Chúng tôi sẽ tìm kiếm một chuỗi con h trong danh sách các chuỗi bằng cách sử dụng câu lệnh bên dưới,

SELECT FIND_IN_SET[“h”, “g,h,k,l”];

Ở đây, chúng ta sử dụng câu lệnh SELECT với hàm FIND_IN_SET[] để đánh giá và hiển thị giá trị trả về. Kết quả từ truy vấn trên là đúng vì tham số đầu tiên 'h' có trong danh sách dưới dạng tham số thứ hai. Vì vậy, hàm khi thực thi sẽ xuất ra một số nguyên dương là 2 vì giá trị đầu tiên của hàm FIND_IN_SET[] được tìm thấy trong chỉ mục thứ hai của danh sách các giá trị trong tham số thứ hai của hàm, i. e. 'g,h,k,l'

Tương tự, nếu chúng ta thực hiện truy vấn bên dưới thì hàm trả về 0 làm giá trị đầu ra vì giá trị không có trong danh sách

SELECT FIND_IN_SET[“b”, “g,h,k,l”];

Ngoài ra, khi chúng ta xác định truy vấn như sau, đầu ra là NULL vì tham số thứ hai là NULL

SELECT FIND_IN_SET[“h”, NULL];

Do đó, chúng ta có thể xác định vị trí của một chuỗi trong một danh sách các chuỗi con cụ thể được cung cấp từ các bảng cơ sở dữ liệu

Mặt khác, toán tử MySQL IN lấy bất kỳ số lượng đối số nào để hiển thị nếu một giá trị được khớp với bất kỳ giá trị nào trong một tập hợp

Ví dụ về MySQL FIND_IN_SET[]

Hãy để chúng tôi chứng minh một số ví dụ sử dụng MySQL FIND_IN_SET[] như sau

Ví dụ 1

Ví dụ lấy dữ liệu từ một bảng bằng hàm FIND_IN_SET[] của MySQL

Giả sử chúng ta có một bảng có tên là bộ sưu tập được tạo trong cơ sở dữ liệu của mình bằng truy vấn bên dưới

CREATE TABLE IF NOT EXISTS Collection [ColID INT AUTO_INCREMENT PRIMARY KEY, ColName VARCHAR[255] NOT NULL, Subjects VARCHAR[255] NOT NULL];

Ngoài ra, hãy để chúng tôi nhập một số hàng bản ghi vào bảng Bộ sưu tập đã tạo

INSERT INTO Collection [ColName, Subjects] VALUES['o-1','Computers, Maths, Science'],['o-2','Networks, Maths, MySQL'],['o-3',' Computers, English, Data Science'],['o-4','Electric, Maths, Science'],['o-5','Computers, MySQL, English'],['o-6','Science, Web Design'],['o-7','Maths, Science'],['o-8','MySQL, Web Design'],['o-9','Computers'];

Hiển thị nội dung của bảng như sau

SELECT * FROM Collection;

đầu ra

Bây giờ, chúng ta sẽ tìm bộ sưu tập chấp nhận môn Toán bằng cách sử dụng hàm MySQL FIND_IN_SET[] được hiển thị bên dưới

SELECT ColName, Subjects FROM Collection WHERE FIND_IN_SET['Computers', Subjects];

đầu ra

Như bạn có thể thấy trong kết quả ở trên, truy vấn đã tìm kiếm chuỗi Maths trong danh sách các giá trị từ cột Chủ đề của bảng.
Tìm một ví dụ đơn giản và kết quả của nó như sau.

________số 8

đầu ra

Hàm FIND_IN_SET[] cung cấp vị trí của đối số đầu tiên 'h' như được tìm thấy trong chuỗi giá trị làm đối số thứ hai của hàm

Ví dụ #2

Ví dụ cho thấy tính tiêu cực của hàm FIND_IN_SET[] của MySQL

Tính đến bảng trước đó, chúng tôi sẽ hiển thị giá trị kết quả của hàm là trống khi MySQL trả về false nếu không tìm thấy chuỗi con trong các giá trị danh sách làm đối số thứ hai. Như vậy, ở đây để phủ định hàm FIND_IN_SET[] của MySQL, chúng ta sẽ áp dụng toán tử MySQL NOT. Cuối cùng, chúng tôi sẽ minh họa ví dụ truy vấn với hàm FIND_IN_SET[] cũng sử dụng toán tử NOT để tìm kiếm bộ sưu tập không khớp với chủ đề PHP trong các giá trị bảng

SELECT ColName, Subjects FROM Collection WHERE FIND_IN_SET['PHP', Subjects];

đầu ra

Như bạn có thể thấy rằng không có đầu ra nào được tạo ra dưới dạng một tập hợp vì trong danh sách các giá trị từ cột Chủ đề, hàm FIND_IN_SET[] không tìm thấy bất kỳ chuỗi con khớp nào như đã cho trong đối số đầu tiên

Ví dụ #3

Sự khác biệt giữa toán tử IN và FIND_IN_SET[]

Toán tử IN xác định liệu một chuỗi con có khớp với bất kỳ tập hợp chuỗi con hoặc danh sách nào hay không và có thể chấp nhận bất kỳ số lượng đối số nào được phân tách bằng dấu phẩy như sau

SELECT FIND_IN_SET[“h”, “g,h,k,l”];0

đầu ra

Tương tự, sử dụng hàm FIND_IN_SET[] sẽ cho kết quả đầu ra giống như truy vấn IN nhưng chỉ cần hai tham số để hiển thị giá trị khớp với danh sách các giá trị được chia cho dấu phẩy

SELECT FIND_IN_SET[“h”, “g,h,k,l”];1

đầu ra

Sự kết luận

Hàm FIND_IN_SET[] của MySQL cho phép máy chủ được sử dụng để kiểm tra xem một chuỗi con làm đối số đầu tiên có trong danh sách các giá trị bao gồm các chuỗi con trong đối số thứ hai được phân tách bằng dấu phẩy hay không

Hàm này, khi giá trị được tìm kiếm, sẽ trả về kết quả dựa trên các giá trị đó dưới dạng số nguyên dương như vị trí [nếu giá trị tồn tại trong danh sách], 0 [nếu không tìm thấy giá trị] hoặc NULL [nếu bất kỳ đối số nào là NULL], mà

Bài viết được đề xuất

Đây là hướng dẫn về MySQL FIND_IN_SET[]. Ở đây chúng ta thảo luận về cách hàm FIND_IN_SET[] hoạt động trong MySQL và các ví dụ cùng với kết quả. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Việc sử dụng Find_in_set trong MySQL là gì?

Hàm FIND_IN_SET[] trả về vị trí của một chuỗi trong danh sách các chuỗi .

Làm cách nào để đặt các giá trị cụ thể trong MySQL?

Đầu tiên, bạn phải chỉ định tên của bảng. Sau đó, trong ngoặc đơn, bạn phải chỉ định tên cột của bảng và các cột phải được phân tách bằng dấu phẩy. Các giá trị mà bạn muốn chèn phải nằm trong dấu ngoặc đơn và phải được theo sau bởi mệnh đề VALUES .

Bộ trong MySQL là gì?

SET là đối tượng chuỗi có thể có 0 hoặc nhiều giá trị , mỗi giá trị phải được chọn từ danh sách các giá trị được phép đã chỉ định . Các giá trị cột SET bao gồm nhiều phần tử của tập hợp được chỉ định với các phần tử được phân tách bằng dấu phẩy [ , ].

Làm cách nào để tìm kiếm một danh sách trong MySQL?

mysql> select *từ ListOfValues ​​trong đó Age IN[20,21,23,25,26,27,28] -> sắp xếp theo trường[Tuổi,20,21, . The following is the output.

Chủ Đề