我正在使用oracle数据库并尝试查找当字符串上存在特殊字符(',`,(,))时应该返回结果的查询。
我正在尝试这样的事情,
select username from users where username like (',`,~,(,));
我尝试使用以下查询实现相同的目标,
select username from users where (username like '%`%' OR username like '%~%');
它不考虑第二个条件并仅将值返回到第一个条件。
是否有可用于获取此结果的函数/方法?
答案 0 :(得分:1)
您可以使用正则表达式并使用一个条件检查所有特殊字符:
SELECT username
FROM users
WHERE regexp_instr(username,'[''`\(\)]') > 0
答案 1 :(得分:0)
没有正则表达式的旧式风格
where length(translate(username, '_''`~()', '_')) <> length(username)