#フィールドに文字列が含まれているかどうかを判断する MySQL メソッド
方法 1: like
SELECT * FROM テーブル名 WHERE フィールド名 "% 文字 %" のような;方法 2: find_in_set()
mysql 文字列関数 find_in_set を使用する();SELECT * FROM users WHERE find_in_set('字符', 字段名);
mysql > SELECT find_in_set()('3','3,6,13,24,33,36') as test; -> 1 mysql > SELECT find_in_set()('3','13,33,36,39') as test; -> 0
方法 3:locate(character, field name)
Uselocate(character, field name) を完全に解決できます。 ) 関数が含まれている場合は、>0 の数値を返し、それ以外の場合は 0 を返します。 そのエイリアスは、select * from 表名 where locate(字符,字段) select * from 表名 where position(字符 in 字段);
update site set url =concat('http://',url) where locate('http://',url)=0
方法 4: INSTR (フィールド、文字)
select * from table name where INSTR (フィールド、文字) Inさらに、作者は上記の SQL の実行計画 (find_in_set は含まれていません) をチェックしたところ、それらはすべて次のとおりであることがわかりました。 インターネット上では、locate を使用すると、ファジークエリは速いですが、どうやって結論が出たのかわかりませんが、データ量が多いためかもしれません。 (無料の学習ビデオ チュートリアルの推奨:mysql ビデオ チュートリアル)
以上がフィールドに文字列が含まれているかどうかを判断する MySQL メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。