sql字符替换问题

EdsionWang 2016-12-06 03:31:45
把前端拼接的字符串作为sql查询条件,sql里面做了一下字符替换,但却查不出东西了。请大家帮忙看下什么问题,谢谢

declare @UserName varchar(100);
set @UserName = 'admin|test'
print char(39)+replace(@UserName,'|',''',''') +char(39); -- 这两句打印出来的都是'admin','test',但是放到in 的括号里却查不出东西
print ''''+replace(@UserName,'|',''',''') +''''; --
SELECT *
FROM [SysUser]
where loginName in (char(39)+replace(@UserName,'|',''',''') +char(39))
--where loginName in (''''+replace(@UserName,'|',''',''') +'''')
--where loginName in ('admin','test') --直接这样写就能查出数据
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ny-6000 2016-12-06
  • 打赏
  • 举报
回复
where charindex(loginName,@UserName)>0 这种,听说效率比较低啊
Ny-6000 2016-12-06
  • 打赏
  • 举报
回复
引用 3 楼 ssp2009 的回复:
[quote=引用 2 楼 andywangguanxi 的回复:] [quote=引用 1 楼 ssp2009 的回复:] SELECT * FROM [SysUser] where charindex(loginName,@UserName)>0
试了下charindex函数好使,但是想不明白用in的方式为啥不行。谢谢[/quote]用in需要动态拼接sql exec('SELECT * FROM [SysUser] where loginName in ('+char(39)+replace(@UserName,'|',''',''') +char(39)+')')[/quote] 不动态的话,可以每个in条件写一个参数,传入参数列表也行
EdsionWang 2016-12-06
  • 打赏
  • 举报
回复
引用 3 楼 ssp2009 的回复:
[quote=引用 2 楼 andywangguanxi 的回复:] [quote=引用 1 楼 ssp2009 的回复:] SELECT * FROM [SysUser] where charindex(loginName,@UserName)>0
试了下charindex函数好使,但是想不明白用in的方式为啥不行。谢谢[/quote]用in需要动态拼接sql exec('SELECT * FROM [SysUser] where loginName in ('+char(39)+replace(@UserName,'|',''',''') +char(39)+')')[/quote] 哦,就是整条查询语句都是拼接的才可以?谢谢
快溜 2016-12-06
  • 打赏
  • 举报
回复
引用 2 楼 andywangguanxi 的回复:
[quote=引用 1 楼 ssp2009 的回复:] SELECT * FROM [SysUser] where charindex(loginName,@UserName)>0
试了下charindex函数好使,但是想不明白用in的方式为啥不行。谢谢[/quote]用in需要动态拼接sql exec('SELECT * FROM [SysUser] where loginName in ('+char(39)+replace(@UserName,'|',''',''') +char(39)+')')
EdsionWang 2016-12-06
  • 打赏
  • 举报
回复
引用 1 楼 ssp2009 的回复:
SELECT * FROM [SysUser] where charindex(loginName,@UserName)>0
试了下charindex函数好使,但是想不明白用in的方式为啥不行。谢谢
快溜 2016-12-06
  • 打赏
  • 举报
回复
SELECT * FROM [SysUser] where charindex(loginName,@UserName)>0

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧