CharIndex()函数,参数一个是字符型,一个是数字,怎么比较?

a="23,12,14,avc"sql="select*fromClasswhereid=1andCharIndex(sId,'"&a&"')>0orderbyClass... a="23,12,14,avc"
sql="select * from Class where id=1 and CharIndex(sId,'"&a&"')>0 order by ClassId"

sid为数字,a是字符

这个语句我改怎么写?

这个语句我改怎么写?
展开
 我来答
zhjiemm
推荐于2018-03-14 · TA获得超过2643个赞
知道大有可为答主
回答量:1834
采纳率:75%
帮助的人:714万
展开全部
把数字转成字符串,再取位置
a="23,12,14,avc"
sql="select * from Class where id=1 and CharIndex(str(sId),'"&a&"')>0 order by ClassId"

或者是
sql="select * from Class where id=1 and CharIndex(CONVERT(nvarchar(10),sid),'"&a&"')>0 order by ClassId"
更多追问追答
追问
不行 这个我试过了,语句没有错误,但是就没有符合条件的值了
我在本地用的ACCESS数据库,用 instr('"&a&"',sId)>0
sql="select * from Class where id=1 and instr('"&a&"',sId)>0 order by ClassId" 就行
追答
这是sql 2000 下的可以运行。 你用的是access啊,我再试下。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
F__Horizon
推荐于2016-09-07 · TA获得超过1.4万个赞
知道小有建树答主
回答量:1929
采纳率:83%
帮助的人:172万
展开全部
把数字转成字符串,再取位置
a="23,12,14,avc"
sql="select * from Class where id=1 and CharIndex(str(sId),'"&a&"')>0 order by ClassId"

或者是
sql="select * from Class where id=1 and CharIndex(CONVERT(nvarchar(10),sid),'"&a&"')>0 order by ClassId"

这是sql 2000 下的可以运行。 access 是没有CharIndex函数的。那能用InStrRev
sql="select * from Class where id=1 and InStrRev('"&a&"',cstr(sid))>0 order by ClassId"

sql下用:
sql="select * from Class where id=1 and CharIndex(CONVERT(nvarchar(10),sid),'"&a&"')>0 order by ClassId"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式