急!!!

继续泛泛 2010-08-11 05:27:09
select * from BaseArchives where jzdw in ('2,10,9,11')
...全文
68 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
skypaul888 2010-08-11
  • 打赏
  • 举报
回复
程序去除引号后,再传过来啊
small_tree 2010-08-11
  • 打赏
  • 举报
回复
楼主传入的@需要处理一下,就是把用分隔符把每个字段分开,可以用以下代码



DECLARE @str VARCHAR(max)
,@seperator VARCHAR(max)
SELECT @str = '1,2,3,4,15,6,237'
,@seperator = ','


DECLARE @tbl_split TABLE (
str_id varchar(max) NOT NULL
,string varchar(max) NOT NULL
)


DECLARE @strlen INT
--,@start INT
,@position INT
,@start INT
,@sublen INT
,@tempstr VARCHAR(max)
,@tempid INT

SELECT @strlen = LEN(@str)
,@start = 1
,@sublen = 0
,@position = 1
,@tempstr = ''
,@tempid = 0


IF RIGHT(@str,1)<>@seperator
BEGIN
SELECT @str = @str+@seperator
END

WHILE (@position<=@strlen AND @position!=0 )
BEGIN
IF(CHARINDEX(@seperator,@str,@position)!=0)
SELECT @sublen=CHARINDEX(@seperator,@str,@position)-@position
ELSE
SELECT @sublen =@strlen-@position+1;

IF @position<=@strlen
BEGIN
SELECT @tempid= @tempid +1
,@tempstr =SUBSTRING(@str,@position,@sublen)

INSERT INTO @tbl_split(str_id,string)
VALUES(@tempid,@tempstr)

IF(CHARINDEX(@seperator,@str,@position)!=0)
SELECT @position=CHARINDEX(@seperator,@str,@position)+1
END ELSE
SELECT @position=@position+1

END


SELECT * FROM @tbl_split
王向飞 2010-08-11
  • 打赏
  • 举报
回复
declare @t nvarchar(200)
set @t = '''2'',''10'',''9'',''11'

declare @sql nvarchar(2000)
set @sql='select * from BaseArchives where jzdw in ('+replace (@t,'''','')+' )'
print @sql
exec @sql

继续泛泛 2010-08-11
  • 打赏
  • 举报
回复
不好意思,就是在程序中传过来了一个参数,是一个字符串,这样的
select * from BaseArchives where jzdw in (@a)怎么把@a单引号去掉
Andy__Huang 2010-08-11
  • 打赏
  • 举报
回复
select * from BaseArchives where charindex(','+cast(jzdw as varchar)+',' ',2,10,9,11,')>0
csuxp2008 2010-08-11
  • 打赏
  • 举报
回复
jzdw 若是数字类型,去掉两边的引号
若是字符类型,将每个数字加上单引号
Andy__Huang 2010-08-11
  • 打赏
  • 举报
回复
什么问题?没说清楚呢
csuxp2008 2010-08-11
  • 打赏
  • 举报
回复
没头没尾的...急个啥子哦
继续泛泛 2010-08-11
  • 打赏
  • 举报
回复
去掉引号
guguda2008 2010-08-11
  • 打赏
  • 举报
回复
select * from BaseArchives where jzdw in ('2','10','9',11')

34,590

社区成员

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

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