首頁 >資料庫 >mysql教程 >如何檢查 MySQL 中逗號分隔清單中是否存在特定數字?

如何檢查 MySQL 中逗號分隔清單中是否存在特定數字?

Barbara Streisand
Barbara Streisand原創
2024-11-25 05:36:36660瀏覽

How to Check if Specific Numbers Exist in a Comma-Separated List in MySQL?

當逗號分隔列表中存在值時檢索數據(MySQL)

問題:

您有一個MySQL 表,其中一列(稱為NUMBERS)包含以逗號分隔的數字清單。您想要確定特定行的 NUMBERS 欄位中是否存在特定數字。例如,您需要檢查 UID 為 2 的行的 NUMBERS 欄位中是否存在數字 3 和 15。

解決方案:

您可以使用 IN 運算子執行此檢查。 IN 運算子可讓您指定值清單並檢查給定值是否與清單中的任何值相符。在這種情況下,您可以使用 IN 運算子檢查特定行的 NUMBERS 欄位中是否存在數字 3 和 15。

執行此操作的一種方法是使用以下查詢:

SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS);

此查詢將傳回表中 NUMBERS 資料列中同時存在數字 3 和 15 的所有行。在您的範例中,此查詢將傳回 UID 為 2 的行,因為它在 NUMBERS 欄位中同時包含 3 和 15。

另一種替代方法是使用 FIND_IN_SET() 函數。 FIND_IN_SET() 函數採用兩個參數:一個值和一個以逗號分隔的清單。如果該值存在,則傳回該值在清單中的位置;如果該值不存在,則傳回 0。您可以使用此函數透過使用以下查詢來檢查NUMBERS 列中是否存在特定數字:

SELECT * FROM table WHERE FIND_IN_SET(3, NUMBERS) > 0 AND FIND_IN_SET(15, NUMBERS) > 0;

此查詢將傳回與上一個查詢相同的結果,但它使用FIND_IN_SET( ) 函數來確定數字3 和15 是否存在於NUMBERS 欄位中。

這兩種方法都可以用來檢查特定數字是否存在在 MySQL 表中以逗號分隔的清單中。您可以使用任何您喜歡的方法。

以上是如何檢查 MySQL 中逗號分隔清單中是否存在特定數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn