猿问

SQL CHARINDEX()函数 错误 ?

语句如下:
new为table表中一个字段
BBB="信息技术"
sql="select * from table where CHARINDEX(new,BBB)>0"
运行提示:
[Microsoft][ODBC SQL Server Driver][SQL Server]列名 'bbb' 无效。
bbb是一个变量,怎么会是 列名无效? 
感谢 lzp4881的回答,不过问题是对象反了:
new 这个字段可能值有"信"、"息"、"技"、"术"等几个值,需要查找的是包含这些值的所有记录!
而bbb=“信息技术”是由数据库的其他表的记录累加出来的!

拉风的咖菲猫
浏览 1080回答 2
2回答

回首忆惘然

sql="select * from table where CHARINDEX('"&BBB&"',new)>0"

侃侃无极

干嘛要有动态SQL语句呢?直接 select * from table where charindex(@bbb,new)>0要用动态语句,得这样写set @sql='select * from table where charindex('+char(39)+rtrim(@bbb)+char(39)+',new)>0'
随时随地看视频慕课网APP

相关分类

SQL Server
我要回答