我有一列存储以下格式的数据。 [“ 12973”,“ 111”,“ 5555”]。
我想选择不在上面设定的项目。 例如,
如果我搜索12973是否完全匹配,它将不会返回。 如果我搜索“ 129”时使用“喜欢”,它也会返回相同的结果。
解决这个问题的任何想法。
答案 0 :(得分:1)
如果要搜索确切的数字,可以使用NOT LIKE排除该行
SELECT * FROM test WHERE col1 NOT LIKE '%"12973"%'
如果要搜索没有以129开头的数字的行,则可以使用REGEXP
SELECT * FROM test WHERE NOT col1 REGEXP '.*"129[0-9]*"'
答案 1 :(得分:0)
如何用LIKE搜索所有结果并删除完全匹配的内容?
SELECT * FROM t WHERE a LIKE '%129%' AND a != '129'