为了账号安全,请及时绑定邮箱和手机立即绑定

sql语句中的匹配

sql语句中的匹配

眼眸繁星 2018-09-11 06:02:01
就是我现在有1,2,3,4这个字符串,数据库中有个字段只是字符串中其中一个(1)(2)(3)(4)怎么能1,2,3,4能够匹配出来1这一条啊,也就是说把like那种效果倒过来啊。like是1%可以匹配,但是现在我想让倒过来,请问怎么弄啊,能给个确切的代码对好我的是数据库2005
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

如果字段只是(1)(2)(3)(4)中的一个,比如(1)可以这样


use Testdb2
go


IF NOT OBJECT_ID('[t_Demo]') IS NULL
   DROP TABLE [t_Demo]
GO
CREATE TABLE [t_Demo]
([ID] int identity(1,1) primary key not null,
[Cate] Nvarchar(20) null
)
go

INSERT [t_Demo]
SELECT '(1)' union all
SELECT '(2)' union all
SELECT '(3)' union all
SELECT '(4)' union all
SELECT '(2)' union all
SELECT '(1)'
go

Declare @vars nvarchar(100)
set @Vars='1,2,3,5'
Declare @strSql Nvarchar(max)
set @strSql='select * from [t_Demo] where  Replace(Replace([Cate],''('',''''),'')'','''') in ('+@Vars+')'
print @strSql
exec (@strSql)

/*
select * from [t_Demo] where  Replace(Replace([Cate],'(',''),')','') in (1,2,3,5)

(5 row(s) affected)
ID    Cate
1    (1)
2    (2)
3    (3)
5    (2)
6    (1)


查看完整回答
反对 回复 2018-09-24
?
九州编程

TA贡献1785条经验 获得超4个赞

不用like,用=。自己拼字符串

查看完整回答
反对 回复 2018-09-24
  • 2 回答
  • 0 关注
  • 397 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信