选择例如AS01并在不使用“> =”运算符的情况下获取数据库条目A *

时间:2013-02-01 14:32:24

标签: database tsql select wildcard

Hello beloving community,

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

简化了表格,我在以下情况下运行查询:

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

此数据库中的“*”用作通配符,表示任何以 A 开头的值将由 K1 覆盖,任何VALUE以 Z1开头将由 K4 涵盖 查询看起来像:

选择键
来自T1
VALERE ='AS01'

现在问题是得到键 K1 K3 ,而不使用“Between”功能,因为我只有一列。
我不能使用“> =”运算符,因为该表有超过500k条目。 此外,“> =”运算符会将 K2和K4 作为结果...

我尝试使用通配符和LIKE功能,但我似乎无法获得正确的结果。

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

此致, 珍妮

1 个答案:

答案 0 :(得分: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 *
我没有看到任何方法在没有列出em的情况下到达那里。

SELECT KEY
FROM T1
WHERE VALUE >='A*'
  AND VALUE <='AS01*'