如何修复子字符串以像 SQL 代码中那样使用?

How do I fix the substring to use like in SQL code?

我的声明:

declare @status varchar(255);
set @status = 'seated'

这就是我的 table 结构的样子

**description**
Seated, Unpaid
Seated, Paid
Return
Seating Failed
Unseated, Paid
Upgraded
Ticketed, Paid
Unseatable
etc. 

我的通用代码:

select  description
from    tr_status
where   description like Substring(@status,0,LEN(status))

我想做的是说明描述字段中有 'seated' 的地方(或作为我的参数传递的任何值)。 return 只有 seated 的那些行作为描述的一部分存在。

所以只有这些:

Seated, Unpaid
Seated, Paid
Unseated, Paid
SELECT  description
FROM    tr_status
WHERE   description LIKE '%' + @status + '%'
SQL 中的

% 是一个通配符,因此将匹配任何字符系列。 LIKE 语句允许将变量与此通配符连接起来,从而产生您所要求的搜索类型。

您不需要为此使用子字符串:

WHERE description LIKE @status 

应该可以解决问题。或者在更坏的情况下:

WHERE description LIKE '%' + @status + '%'