在WHERE子句中使用NOT LIKE

时间:2015-07-15 11:04:55

标签: mysql

用户表如下所示,

name  | username    | email 
--------------------------------- 
 Joe  |    joe      | joe@mail.com      
--------------------------------- 
 John |    ABC\john | john@abc.com      
--------------------------------- 
 Kate |    kate     | kate@mail.com 
--------------------------------- 
 Ron  |    ABC\ron  | ron@abc.com  
---------------------------------

mySQL查询选择表格中用户名不以" ABC \"开头的表格中的所有字段。由于用户使用活动目录凭据登录到应用程序,因此用户名存储在Domain \ Username(例如:ABC \ username)中。我试图创建查询,但它无法正常工作。

Select * from User where username NOT LIKE 'ABC\\\\%_'

但是没有用。它正在拉动所有用户记录。

name  | username    | email 
--------------------------------- 
 Joe  |    joe      | joe@mail.com      
--------------------------------- 
 John |    ABC\john | john@abc.com      
--------------------------------- 
 Kate |    kate     | kate@mail.com 
--------------------------------- 
 Ron  |    ABC\ron  | ron@abc.com  
---------------------------------

但我需要用户名不以" ABC \"开头的用户。

name  | username    | email 
--------------------------------- 
 John |    ABC\john | john@abc.com      
--------------------------------- 
 Ron  |    ABC\ron  | ron@abc.com  
---------------------------------

我尝试根据电子邮件地址进行过滤,因为它工作正常

Select * from User where email NOT LIKE '_%@abc.com' 

我是查询的新手,可以设法编写简单的查询,但是我不确定我是否遵循了正确的方法。

1 个答案:

答案 0 :(得分:0)

我不确定是谁发布了答案

Select * from User where username NOT LIKE 'ABC\%' 

在这里工作。我跟着link它没有用,不知道为什么。谢谢大家