在SQL中(遗憾的是)LIKE由于数据库违反了几乎所有规范化规则,因此经常不得不使用" "条件.我现在无法改变它.但这与这个问题无关.
此外,我经常使用条件,例如WHERE something in (1,1,2,3,5,8,13,21)更好的可读性和SQL语句的灵活性.
在没有编写复杂的子选择的情况下,有没有可能将这两种方法结合起来?
我想要一些简单WHERE something LIKE ('bla%', '%foo%', 'batz%')而不是这样的东西:
WHERE something LIKE 'bla%'
OR something LIKE '%foo%'
OR something LIKE 'batz%'
Run Code Online (Sandbox Code Playgroud)
我在这里使用SQl Server和Oracle,但我很感兴趣,如果在任何RDBMS中都可以这样做.
我试图围绕如何搜索出现在单词/表达式中间的东西 - 比如搜索"LIKE%book%" - 但在SQL Server(2005)全文目录中.
我怎样才能做到这一点?在搜索表达式的开头几乎看起来好像两个CONTAINS并且FREETEXT真的不支持通配符- 真的可以吗?
我本以为FREETEXT(*, "book")会发现里面有"书"的东西,包括"重新预订"或类似的东西.