如何使用SQL在字段中选择包含“_”的记录

时间:2015-12-22 14:56:23

标签: sql

我有一张表有以下记录的客户:

CustomerID  CustomerName    Country
1           Alfr_eds        Germany
2           Ana             Mexico
3           Antonio         Mexico

我需要在客户名称中选择包含_的记录,以便可以使用哪些查询。

我尝试了以下查询:

SELECT * FROM Customers where CustomerName LIKE '%_%';

但它会返回所有数据。

2 个答案:

答案 0 :(得分:3)

To"禁用"作为通配符的下划线,你需要逃避它:

SELECT * 
FROM Customers 
where CustomerName LIKE '%\_%' escape '\';

子句escape '\'告诉数据库,\之后的任何字符都不应被视为通配符。你可以使用你喜欢的任何角色,例如<{1}}也可以正常工作

#

答案 1 :(得分:0)

对于SQL Server,您可以使用[ ]作为通配符,查看LIKE (Transact-SQL)文档。

enter image description here

所以你可以这样写:

select * from customers where customerName like '%[_]%'

您的查询使用_通配符,因此它基本上会检查customerName是否包含任何单个字符。