![](/img/trans.png)
[英]Using SQL “In” instead of “Like” using %wildcards% in Linq
[英]getting a pattern using like,wildcards in sql
我有两列visit和visit_sequence,
Example table
Visit Visit_sequence
1 43:65:34:21:343
2 22:78:113:37
3 43:465:72:21:1187:542
The semi colon is present in the field.
现在,如果我要检查某个访问是否具有包含数字43、65和21的访问序列,应该使用什么条件(最短条件)?
如果我写
case when visit_sequence like '%:43:%:65:%:21:%'
要么
case when visit_sequence like '%43%:%65%:%21%'
这些绝对不会工作。 我不需要整个代码,仅需要like
之后的部分。
select *
from visits
where ':'+visit_sequence+':' like '%:43:%'
and ':'+visit_sequence+':' like '%:65:%'
and ':'+visit_sequence+':' like '%:21:%'
我希望您有一张小桌子,因为针对此问题引发的任何类型的查询,您的非规范化存储格式都无法正常运行。
如果您使用的是ORACLE,请尝试REGEXP_LIKE
select *
from visits
where REGEXP_LIKE (visit_sequence, '43:.*65:.*21')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.