查一张表:test(id,name,classid),其中classid 内容为这种形式的: 1101000,1504002,2008020
我查询:
select * from test where 1101000 in (classid) 能查询出记录,
但 如果是 classid 内容中的中间内容,用 in 就查询不出记录,只能用like查询。
后来我以为要加 单引号,这样查询还是不行,
select * from test where '1504002' in (concat('''',replace(cityid,',',''','''),''''))
有高手给解释一下怎么用 in 方法,多谢
我查询:
select * from test where 1101000 in (classid) 能查询出记录,
但 如果是 classid 内容中的中间内容,用 in 就查询不出记录,只能用like查询。
后来我以为要加 单引号,这样查询还是不行,
select * from test where '1504002' in (concat('''',replace(cityid,',',''','''),''''))
有高手给解释一下怎么用 in 方法,多谢
OR
INSTR(classid,1101000)>0
中间内要用INSTR、LOCATE函数
or
select * from test where 1101000 in (classid) OR locate(1101000,classid)>0