現資料庫表中某個字段儲存的值為「01,07,08」,需要sql去查詢下表中到相應的名稱:
nnd,一點思路都木有,想了老久,突然想到了正規表示式....!啊哈哈哈.....
1、最開始想到的是find_in_set()...
查詢欄位中包含01,07,08的記錄:
select * from test where find_in_set('01',itemname) or find_in_set('07',itemname);
想想,媽蛋,這存sql,腫麼給它拆分開呢,難道再迴圈一下....
2、正規表示式,完美解決:
select * from test where itemname regexp '(01|07|08)';
select * from test where concat(',',itemname,',') regexp '[^0-9]+[3|9][^0-9]+';
這個查詢出來是多條資料的,然後再用到了group_concat()函式,ok
專案中就這麼寫的:
select
group_concat(itemname)
from
code_library
where
codeno = 'com_insurance'
and itemno regexp (
select
replace (species, ',', '|')
from
capital_info
where
customerid = '2016011800000001'
)
mysql 逗號分隔查詢
商品表 goods 有學校字段 school ids 學校字段 school ids 中儲存學校表 school 的id,如果商品包含多個學校則多個id使用逗號分隔儲存 查詢sql select g.id,g.school ids,group concat s.locality name from ...
MYSQL查詢某欄位中以逗號分隔的字串的方法
首先我們建立一張帶有逗號分隔的字串。create table test id int 6 not null auto increment,primary key id pname varchar 20 not null,pnum varchar 50 not null 然後插入帶有逗號分隔的測試資料...
MYSQL查詢某欄位中以逗號分隔的字串的方法
首先我們建立一張帶有逗號分隔的字串。create table test id int 6 not null auto increment,primary key id pname varchar 20 not null,pnum varchar 50 not null 然後插入帶有逗號分隔的測試資料...