以下の表から国を検索したい:
+-----+-------------+
| id | country
+-----+-------------+
| 1 | US
+-----+-------------+
| 2 | US,IN,UK
| 3 | US,NZ
| 4 | AUS
SQLクエリを実行して、国='US'を含み、コンマで区切られた国が追加されたすべてのレコードを取得するにはどうすればよいですか?
ありがとう
以下の表から国を検索したい:
+-----+-------------+
| id | country
+-----+-------------+
| 1 | US
+-----+-------------+
| 2 | US,IN,UK
| 3 | US,NZ
| 4 | AUS
SQLクエリを実行して、国='US'を含み、コンマで区切られた国が追加されたすべてのレコードを取得するにはどうすればよいですか?
ありがとう
たとえば、FIND_IN_SET関数を使用できます-
SELECT * FROM table
WHERE FIND_IN_SET('US', country) ;
たとえば、FIND_IN_SET関数を使用できます-
SELECT * FROM table WHERE FIND_IN_SET('US', country) ;
SELECT id, country
FROM yourtable
WHERE FIND_IN_SET('US', country)
また
SELECT id, country
FROM yourtable
WHERE CONCAT(',', country, ',') LIKE '%,US,%'
こちらのフィドルをご覧ください。
SELECT *
FROM tableName
WHERE FIND_IN_SET('US', country) > 0
LIKE
またはこれに使用できますRLIKE
。
SELECT * FROM table_name WHERE country RLIKE '(.+?,)*?US(,.+?)*'
また
SELECT * FROM table_name WHERE country LIKE '%US%'
最初のクエリは、USをサブストリングとして持つ国の検索を回避します。RUS
SELECT * FROM table_name WHERE country RLIKE '(.+,)(.+,)*?US(,.+)*|(.+,)*?US(,.+)(,.+)*'
USとともに少なくとも別のエントリを持つもののみを選択します。
以下のコードを試してください。
SELECT ID,COUNTRY FROM TABLE_NAME
WHERE COUNTRY LIKE '%US%;