在表中,一些数据采用某种模式,如频率,频率[1],频率[2] ......
如果在where子句中给出频率,如何从表中获取此模式的所有行?
我尝试使用'GLOB'关键字,但不再返回任何数据。
查询:
select * from tblfrequencyCustom where frequency GLOB 'Ff' OR 'Ff[*]'
答案 0 :(得分:1)
您的查询无效,因为您的条件与(frequency GLOB 'Ff') OR ('Ff[*]')
相同。 frequency GLOB 'Ff'
没有通配符,因此与frequency='Ff'
相同,与您的数据不匹配。 'Ff[*]'
转换为整数0
,这始终为假。
因此,您可以使用通用SQL运算符LIKE
(不区分大小写):
SELECT * FROM tblfrequencyCustom WHERE frequency='frequency' OR frequency LIKE 'frequency[%]';
使用不太常见的运算符GLOB
,您必须转义[
和]
:
SELECT * FROM tblfrequencyCustom WHERE frequency='frequency' OR frequency GLOB 'frequency[[]*[]]';