如何修复子字符串以像 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 + '%'
我的声明:
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 + '%'