如何在SQL Server中查找列是否包含'%'

Sam*_*Sam 3 sql t-sql 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');
Run Code Online (Sandbox Code Playgroud)

现在,我必须找到包含%的名称.

我应该得到 'Jenny%123'

我使用的查询是

SELECT * FROM Customer where Name LIKE '%%%';
Run Code Online (Sandbox Code Playgroud)

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

Gio*_*sos 6

你可以使用CHARINDEX:

select *
from Customer
where charindex ('%', Name) <> 0
Run Code Online (Sandbox Code Playgroud)

当然,以上是不可篡改的,但更容易理解恕我直言.