相关疑难解决方法(0)

SQL中是否有"LIKE"和"IN"的组合?

在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中都可以这样做.

sql t-sql sql-server oracle plsql

322
推荐指数
13
解决办法
43万
查看次数

如何在sqlite3的WHERE子句中添加多个"NOT LIKE'%?%'?

我有一个sqlite3查询,如:

SELECT word FROM table WHERE word NOT LIKE '%a%';
Run Code Online (Sandbox Code Playgroud)

这将选择单词中不出现'a'的所有单词.这我可以完美地工作.问题是,如果我想进一步限制结果,不要在单词中的任何地方包含'b'.我正在想象这样的事情.

SELECT word FROM table WHERE word NOT IN ('%a%', '%b%', '%z%');
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,但这是个主意.只是添加一个AND条款是我想要避免的:

SELECT word FROM table WHERE word NOT LIKE '%a%' AND NOT LIKE '%b%';
Run Code Online (Sandbox Code Playgroud)

如果这是唯一的选择,那么我将不得不使用它,但我希望有别的东西.

sql sqlite

34
推荐指数
4
解决办法
21万
查看次数

标签 统计

sql ×2

oracle ×1

plsql ×1

sql-server ×1

sqlite ×1

t-sql ×1