如何在 MySQL 中查找包含特定值的字段,并排除僅包含特定值的記錄?

如何在 MySQL 中查找包含特定值的字段,并排除僅包含特定值的記錄?

如何用 mysql 查找包含特定值的字段?

mysql 中,表中的某個(gè)字段值可能包含多種格式,例如空值、單一數(shù)字或以逗號(hào)分隔的數(shù)字字符串。假設(shè)我們有一個(gè)表名為 “my_table”,它的 “ids” 字段具有以下值:

| ids | | ---- | | null | | 350 | | 34,35,36,37 |

現(xiàn)在,我們希望查詢包含數(shù)字 35 的記錄,但要排除僅包含 350 的記錄。

解決方案:

可以使用 mysql 的 find_in_set() 函數(shù)解決此問題,該函數(shù)檢查一個(gè)值是否在逗號(hào)分隔的字符串中。以下 sql 查詢將檢索包含 35 的記錄,同時(shí)排除僅包含 350 的記錄:

select * from my_table where find_in_set(#{id}, ids)

在這個(gè)查詢中,#{id} 是要搜索的值,即 35。

使用此查詢,將檢索以下記錄:

| ids | | ---- | | 34,35,36,37 |

這成功地排除了僅包含 350 的記錄。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享