易截截图软件、单文件、免安装、纯绿色、仅160KB

sql in问题

listid是int数据
declare @listid nvarchar(100)
set @listid='(1,2,3,7,9,10)'
select * from forums where listid in(@listid)时提示如下错误:
在将 nvarchar 值 '(1,2,3,7,9,10)' 转换成数据类型 int 时失败。


declare @sql nvarchar(200)
declare @listid nvarchar(100)
set @listid='(1,2,3,7,9,10)'
set @sql='select * from forums where listid in(' + @listid + ')'
exec(@sql)
就不会有错。

listid是int数据
declare @listid nvarchar(100)
set @listid='(1,2,3,7,9,10)'
select * from forums where listid in(@listid)时提示如下错误:
在将 nvarchar 值 '(1,2,3,7,9,10)' 转换成数据类型 int 时失败。

当然啦,这个会默认转成LISTID类型,转不过就报错了,
用CHARINDEX或动态EXEC

charindex我试过,但当@listid='12'时
会把listid=1,2,12的都会列出来

SQL code:
--TRY
select * from forums where charindex(','+ltrim(listid)+',',','+@listid+',')


引用
charindex我试过,但当@listid='12'时
会把listid=1,2,12的都会列出来

CHARINDEX(','+LISTID+',',','+@LISTID+',')>0

引用
SQL code--TRYselect*from forumswherecharindex('


相关问答:

门外汉求助...关于后台+SQL+ASP

....接到一个小程序..工作原来大概是这样的...前台是WEB服务器.架构就是ASP+SQL..前台由ASP向SQL添加服务类别(表单).然后又后台程序读取表单..要实时读取..然后显示在服务器上面..从理论上面能行通不?如果可以..后台 ......

linux 下的java 程序调用sqlplus执行.sql文件乱码

                        现在我的情况是这样:

                        我的 ......

一个SQL语句的问题。高手帮帮忙

有两个表。分别都有ID主键。A表的ID和B表的ID是对应的,就是A表几个ID,B表就几个ID。A表的ID是什么,B表的ID就是什么。
可是现在A表的ID比B表的多了。
我现在想要把B表中少的部分给补齐了。这个插入应该怎么写 ......

求这句Sql如何理解

create table [客户联系表]([客户编号] varchar(2),[联系日期] datetime,[联系内容] int)
insert [客户联系表]
select 'aa','2009/01/01',111 union all
select 'bb','2009/02 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号