1

亲爱的社区,您好,

提前感谢您的时间和参与。
我偶然发现了一个重大问题:

简化了我运行查询的表,如下所示:

T1
ID - 键 - 值
1 - K1 - A*
2 - K2 - Q*
3 - K3 - AS*
4 - K4 - Z1*

此数据库中的“*”用作通配符,这意味着任何以A开头的 VALUE都将被K1覆盖,任何以Z1开头的 VALUE都将被K4覆盖。
查询如下所示:


从 T1中选择键
,其中 VALUE='AS01'

现在问题是得到键K1K3,因为我只有一列,所以没有使用“Between”功能。
我也不能使用 ">=" 运算符,因为该表有超过 50 万个条目。此外,“>=”运算符会为我提供K2 和 K4的结果......

我尝试使用通配符和 LIKE 函数,但似乎无法得到正确的结果。

如果你们中的任何人能帮助我解决这个问题,我将不胜感激。提前致谢

你的,珍妮

4

1 回答 1

0
SELECT KEY
FROM T1
WHERE VALUE='A*'
   OR VALUE='AS*'
   OR VALUE='AS0*'
   OR VALUE='AS01*'

SELECT KEY
FROM T1
WHERE VALUE in ('A*','AS*','AS0*','AS01*')

下面的问题是会发现 AB*
如果不列出它们,我看不到任何到达那里的方法。

SELECT KEY
FROM T1
WHERE VALUE >='A*'
  AND VALUE <='AS01*'
于 2013-02-01T15:07:54.307 回答