注册 登录
编程论坛 VB6论坛

vb6环境下,无法使用instr、charindex查询数据库指定字段中特定字符的位置。

wangf1978 发布于 2013-12-20 20:16, 537 次点击
创建视图,需要查询数据库指定字段特定字符,代码以下:

quetn = "create view que_ta AS select max(que_info.test_id) as test_id,sum(case when instr(1, que_category.cate_name, '选择题')>0 then 1 end) as 选择题," & _
"sum(case when instr(1,que_category.cate_name, '选择题')=0 then 1 end) as 非选择题 from que_info left join que_category on que_info.cate_id =que_category.cate_id " & _
" group by que_info.test_id "

运行出现错误:'instr'不是可以识别的内置函数名称。尝试使用charindex,也没办法实现效果。

环境:vb6 数据库版本:sql 2008 r2
菜鸟一只,没有分数,希望得到帮助。


奇怪,"instr" 在以上代码内出现错误,但在代码外使用却正常。

如输入:msgbox instr(1,"123","3")        弹出对话框,结果为3。


[ 本帖最后由 wangf1978 于 2013-12-21 08:40 编辑 ]
1 回复
#2
风吹过b2013-12-21 10:51
在 SQL 中有对应的命令,去查SQL 的命令吧。

instr 是VB 的函数。
SQL 命令是提交给 数据引擎 执行的命令,不是VB 执行的,所以函数是分开的。
1