首页 > 解决方案 > 如何在 SQL Server 中查找列是否包含“%”

问题描述

我创建了一个如下表:-

CREATE TABLE Customer(CustomerID integer PRIMARY KEY, Name text);

/* Added few records in this table */
INSERT INTO Customer VALUES(1,'Tom');
INSERT INTO Customer VALUES(2,'Lucy');
INSERT INTO Customer VALUES(3,'Jenny%123');

现在,我必须找到其中包含 % 的名称。

我应该得到'Jenny%123'

我使用的查询是

SELECT * FROM Customer where Name LIKE '%%%';

但我得到了所有的行。我只想要其中包含 % 的名称。

标签: sqlsql-servertsql

解决方案


您可以使用CHARINDEX

select *
from Customer
where charindex ('%', Name) <> 0

当然,上述内容是non-sargable,但更容易理解恕我直言。


推荐阅读