SQL 服务器 select 看起来像 'Like'
SQL Server select looks like 'Like'
我对 SQL 服务器的 LIKE
操作员有疑问。
我有一个 table Table1
:
app ex
----------
test 210
我正在从程序 select 中写一些 select 看起来像这样:
select app
from Table1
where ex Like = '210203'
我已经尝试使用 (%,%.%,[]
)。
如果我尝试 []
这个像这样 [210]203 它正在工作但是会有更多数据所以如果 ex 中有 2102 我希望这个选择这个。
但它不是 select 因为版本是 210203 而在 ex 中是 210
我如何管理这个我 selected 210 变量不能改变那里总是有比 'ex' 数据大的变量
请任何人帮助我。
你查询不对,你没有在Like中使用“=”运算符
SELECT app FROM Table1 WHERE ex LIKE '%210%'
在这种情况下,将过滤掉里面有 210 的值。
如果您使用 for ex: Like ='%210'
将过滤以 210.. 结尾的值,依此类推。
更新
你也可以用这个,我想会对你有帮助
declare @Value varchar(50)
set @value = '123AAAAA123'
select * from Table where @Value like '%' + column + '%'
我对 SQL 服务器的 LIKE
操作员有疑问。
我有一个 table Table1
:
app ex
----------
test 210
我正在从程序 select 中写一些 select 看起来像这样:
select app
from Table1
where ex Like = '210203'
我已经尝试使用 (%,%.%,[]
)。
如果我尝试 []
这个像这样 [210]203 它正在工作但是会有更多数据所以如果 ex 中有 2102 我希望这个选择这个。
但它不是 select 因为版本是 210203 而在 ex 中是 210
我如何管理这个我 selected 210 变量不能改变那里总是有比 'ex' 数据大的变量
请任何人帮助我。
你查询不对,你没有在Like中使用“=”运算符
SELECT app FROM Table1 WHERE ex LIKE '%210%'
在这种情况下,将过滤掉里面有 210 的值。
如果您使用 for ex: Like ='%210'
将过滤以 210.. 结尾的值,依此类推。
更新
你也可以用这个,我想会对你有帮助
declare @Value varchar(50)
set @value = '123AAAAA123'
select * from Table where @Value like '%' + column + '%'