我有一个逗号分隔的字符串列(allow_zones)在我的oracle数据库中,如下所示:
--------------------------
| id | name | allow_zones|
| 1 | test | 1,23,44,67 |
| 2 | user | 3,33,4,97 |
| 3 | sam | 9,77,34,6 |
| 4 | kate | 2,83,49,69 |
--------------------------
字符串
现在我想检查字符串suppose 23
是否存在于列allow_zones
上。我好像不知道怎么做这件事。
3条答案
按热度按时间41zrol4v1#
一个简单的例子可能是这样的:
样本数据:
字符串
获取包含
,23,
的行(如果不是字面上的,则 fabricated):型
或者,你可以
型
utugiqy62#
检查您的目标值前面是字符串的开头或逗号,后面是逗号或字符串的结尾。
字符串
vfwfrxfs3#
您可以在WHERE语句中使用**','使用将列名括起来||,这样每一行的值的开头和结尾都会加上逗号,然后你可以将它们与带逗号的LIKE语句进行匹配,这样你就可以匹配“23”“23,"",23”和",23,"**:
字符串
或者,您也可以在搜索中使用正则表达式,但该查询可能会更慢