注意:不确定“匹配”是什么意思——可能是
length
如果你所做的只是
like
模式匹配您只需添加
%
select @variable = '%' + @variable + '%'
这里有一个简单的例子。。。
设置:
create table Table1 (id int, value varchar(20))
go
insert Table1 values (1,'101000019')
insert Table1 values (2,'abcd123gh')
insert Table1 values (3,'101000026')
insert Table1 values (4,'abcd')
insert Table1 values (5,' 23433')
insert Table1 values (6,'10100gh34')
go
select * from Table1
go
id value
----------- --------------------
1 101000019
2 abcd123gh
3 101000026
4 abcd
5 23433
6 10100gh34
declare @variable varchar(20)
select @variable = '10100001001'
print "++++++++++++ pattern : %1!", @variable
select max(value) from Table1 where value like '%' + @variable + '%'
select @variable = '101000'
print "++++++++++++ pattern : %1!", @variable
select max(value) from Table1 where value like '%' + @variable + '%'
select @variable = '10100'
print "++++++++++++ pattern : %1!", @variable
select max(value) from Table1 where value like '%' + @variable + '%'
go
++++++++++++ pattern : 10100001001
max(Table1.value)
--------------------
NULL
++++++++++++ pattern : 101000
max(Table1.value)
--------------------
101000026
++++++++++++ pattern : 10100
max(Table1.value)
--------------------
10100gh34