忽略#,\,/,大写,$在mysql select查询

忽略#,\,/,大写,$在mysql select查询

问题描述:

我正在填充下拉列表中的所有用户名。我想忽略包含这些#,\, /, uppercase, $中的任何一个的用户名。我正在执行此查询,但仍会显示\的记录,例如ad \ name。

select account_name from dba_account where CAST(account_name AS BINARY) RLIKE '[a-z]' 
and account_name not like '%#%' and account_name not like '%$%' and account_name not like 
'%/%' limit 50; 

任何建议????

谢谢你......

SELECT 
    account_name 
FROM 
    dba_account 
WHERE 
    CAST(account_name AS BINARY) RLIKE '[a-z]' 
    AND account_name NOT RLIKE '[#$\\\\/]' 
LIMIT 50; 
+0

嘿它仍然显示该记录:广告\名称 – ashah142 2012-07-30 16:07:34

+0

@Aashil您确定您使用的是正确的查询吗?我在一分钟前对答案做了修改。再试一次。 – Tomalak 2012-07-30 16:10:13

+0

是的...它仍然显示..我不明白为什么...它也显示记录与'#'.. – ashah142 2012-07-30 16:36:34

您的查询

select account_name from dba_account where CAST(account_name AS BINARY) RLIKE '[a-z]' and account_name not like '%#%' and account_name not like '%$%' and account_name not like '%/%' limit 50; 

不包含逻辑排除反斜杠。