如何跳过" _"在%% clausure中,Sybase IQ

时间:2018-02-09 12:55:47

标签: sql sql-like sybase-iq

任务:查找以" vf _"

开头的所有视图

代码应为:

 select * from systable where table_type = 'VIEW' and table_name like 'vf_%'

问题是数据库使用" _"像一个小丑,这意味着在" _"每个星座都会出现。

这就是为什么要回来我

vf_
VFA
VFG
..
..

我怎么能对数据库说我只想要开始的视图" vf _" ?

2 个答案:

答案 0 :(得分:2)

如果您愿意,请使用escape选项:

table_name like 'vf$_%' escape '$'

有一个默认转义字符,反斜杠:

table_name like 'vf\_%'

然而,多年来在基于Windows和基于Unix的操作系统之间移动使我对反斜杠非常谨慎。

还有其他选择,例如:

left(table_name, 3) = 'vf_'

答案 1 :(得分:1)

除了戈登建议使用转义字符......

您可以通过将下划线放在一对方括号内来搜索下划线作为字符串(而不是通配符),例如:

select * from systable where table_type = 'VIEW' and table_name like 'vf[_]%'