匹配数据库某个字段含有的字符

图片说明
请问怎么匹配这个字段含有的31字符的记录

oracle select * from table where instr(columnName, '31',1)>0;

--instr函数可以检索列中内容包含‘31’字符串首次出现的位置大于0的位置。 oracle数据库字符串位置下标从1开始计数。
sql 好久没用,要找下对应的函数了。

where 1=1 and p_pictureClassID2 like ''%31%

are you clear?

补充一下。 oralce 中 instr 在大数据量的时候,性能是优于 where columnName like'%31%'

SELECT * FROM p-pictureClassID2 WHERE find_in_set('31', 字段名);

字段含有的31字符的记录 ?
例如1,2,131 | 2,4,313 这种数据都包含31,不知道你是否愿意它们被查询出来。
建议先在字符串首尾添加‘,’然后用包含 ,31, 来判断吧。

使用CHARINDEX函数就行了。