我在Oracle DB中有一个表,它有两列:
Area Service Request Count
------- ------------------------
e-life-first 5
e-life-second 3
Tariff 1
Disconnect 2
LTE-1 9
LTE2 10
我有一个查询来选择所有正确的表格... 但是我需要设置一个WHERE条件来选择Any Thing“LIKE”e-life& “只喜欢”LTE!
所以结果必须是:
Area Service Request Count
------- ------------------------
e-life-first 5
e-life-second 3
LTE-1 9
LTE2 10
请支持
答案 0 :(得分:1)
使用%
通配符。对于性能,只需在末尾添加通配符,如下所示:
WHERE (Area LIKE 'e-life%' OR Area LIKE 'LTE%')
编辑:为每个HLGEM的评论添加括号。
答案 1 :(得分:0)
WHERE Area LIKE '%e-life%' OR Area LIKE '%LTE%'
答案 2 :(得分:0)
应该是:
SELECT <columns to return>
FROM <table name>
WHERE Area LIKE '%e-life%'
OR Area LIKE '%LTE%'
那应该返回Area包含e-life或LTE的所有行
答案 3 :(得分:0)
如果&#34; e-life&#34;或者&#34; LTE&#34;可以出现在您应该使用的字符串中的任何位置:
WHERE Area Like '%e-life%' OR Areal Like '%LTE%'
然而,如果&#34; e-life&#34;或者&#34; LTE&#34;将始终出现在您可以使用的字符串的开头:
WHERE Area Like 'e-life%' OR Areal Like 'LTE%'
或者如果&#34; e-life&#34;或者&#34; LTE&#34;将始终出现在字符串的开头,并且区域被编入索引,您可以使用它,这将比上述两个选项中的任何一个更快地执行:
SELECT
...
FROM ...
WHERE Area Like 'e-life%'
UNION ALL
SELECT
...
FROM ...
WHERE Area Like 'LTE%'
答案 4 :(得分:0)
只需使用OR:
WHERE area LIKE 'e-life%' OR area LIKE 'LTE%'