SQL匹配城市名称在完整地址内?

时间:2014-02-12 00:14:31

标签: sql database

您如何列出数据库中不属于“伦敦”的人? 假设数据库是:

Cust_id         address
  1             33 avenue, Liverpool
  2             21 street 12345, London 
  3             469 connection ave, Manchester

我想列出非伦敦的客户。这是我尝试过的:

select Cust_id from customers where address <> 'London';

现在,当我这样做时,它会列出所有客户,无论其位置如何。

帮助会非常明显。

2 个答案:

答案 0 :(得分:2)

试试这个:

select Cust_id from customers where address not like '%London%';

或者这个:

select Cust_id from customers where not address like '%London%';

这两个都没问题。

有关LIKE的详细信息,请参阅例如:在这里:SQL LIKE

答案 1 :(得分:2)

不理想但可能满足您的要求:

 select Cust_id from customers 
 where address NOT LIKE '% London%';

[注意增加的空间:它假设您将始终在城市名称前面加上空格。 '%London%'会匹配包含伦敦的字词

(如果你有一个标准化的地址,例如分成街道地址,城镇,城市等,可能会更好。)