1

以下の表から国を検索したい:

+-----+-------------+
| id  | country     
+-----+-------------+
| 1   | US          
+-----+-------------+
| 2   | US,IN,UK
| 3   | US,NZ
| 4   | AUS  

SQLクエリを実行して、国='US'を含み、コンマで区切られた国が追加されたすべてのレコードを取得するにはどうすればよいですか?
ありがとう

4

6 に答える 6

2

たとえば、FIND_IN_SET関数を使用できます-

SELECT * FROM table
WHERE FIND_IN_SET('US', country) ;
于 2013-02-18T10:29:11.807 に答える
2

たとえば、FIND_IN_SET関数を使用できます-

 SELECT * FROM table WHERE FIND_IN_SET('US', country) ;
于 2013-03-01T09:41:47.043 に答える
1
SELECT id, country
FROM yourtable
WHERE FIND_IN_SET('US', country)

また

SELECT id, country
FROM yourtable
WHERE CONCAT(',', country, ',') LIKE '%,US,%'

こちらのフィドルをご覧ください。

于 2013-02-18T10:29:38.057 に答える
1
SELECT  *
FROM    tableName
WHERE   FIND_IN_SET('US', country) > 0
于 2013-02-18T10:29:42.147 に答える
1

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とともに少なくとも別のエントリを持つもののみを選択します。

于 2013-02-18T10:29:58.540 に答える
1

以下のコードを試してください。

SELECT ID,COUNTRY FROM TABLE_NAME
WHERE COUNTRY LIKE '%US%;
于 2013-02-18T10:30:28.413 に答える