任务:查找以" vf _"
开头的所有视图代码应为:
select * from systable where table_type = 'VIEW' and table_name like 'vf_%'
问题是数据库使用" _"像一个小丑,这意味着在" _"每个星座都会出现。
这就是为什么要回来我
vf_
VFA
VFG
..
..
我怎么能对数据库说我只想要开始的视图" vf _" ?
答案 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[_]%'