Oracle SQL Query查找字符串中是否存在字符

时间:2017-10-16 05:50:23

标签: sql oracle

我正在使用oracle数据库并尝试查找当字符串上存在特殊字符(',`,(,))时应该返回结果的查询。

我正在尝试这样的事情,

select username from users where username like (',`,~,(,));

我尝试使用以下查询实现相同的目标,

select username from users where (username like '%`%' OR username like '%~%');

它不考虑第二个条件并仅将值返回到第一个条件。

是否有可用于获取此结果的函数/方法?

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式并使用一个条件检查所有特殊字符:

SELECT username 
FROM users 
WHERE regexp_instr(username,'[''`\(\)]') > 0

答案 1 :(得分:0)

没有正则表达式的旧式风格

where length(translate(username, '_''`~()', '_')) <> length(username)