ALTER Procedure ProductSearch
(
@ProductName char(30)
)
ASSELECT
*FROM
Products
WHERE productName LIKE '%'+ @ProductName+'%' GOGO我在SQL SERVER 2000 中编写了这个模拟查询的语句.
在ASP.NET调用该存储过程,可是得不到我要的结果.
确定是SQL SERVER 中 LIKE 写的有问题,
在存储过程中的'%'字段编译后好象出现问题. 请高手帮忙!
(
@ProductName char(30)
)
ASSELECT
*FROM
Products
WHERE productName LIKE '%'+ @ProductName+'%' GOGO我在SQL SERVER 2000 中编写了这个模拟查询的语句.
在ASP.NET调用该存储过程,可是得不到我要的结果.
确定是SQL SERVER 中 LIKE 写的有问题,
在存储过程中的'%'字段编译后好象出现问题. 请高手帮忙!
解决方案 »
- 本人初学mvc3的时候出现的错误请各位大侠指点啊分数可以多加的
- webconfig实现urlRewrite,问号转义的问题
- .net web开发邮件发送求解
- 前台控件绑定后台自定义变量数据????急。。
- 怎么用Email中的用户做登录验证
- 遭遇有史以来最难解决的asp.net数据绑定问题。
- 【100分请教从数据库中提取数据然后树状结构显示,请高手进入】
- 如何在使用AccessDataSource时结合使用SQL参数?谢谢
- 关于datagrid在 div中的问题
- 关于repeater显示数据问题
- 非常急切!我在WEB程序中用Session保存訂單的數據,這樣合適嗎?
- 如查获得当前目录的绝对URL?
select @para = '%'+ @ProductName+'%'
select * from Products where productName like @para
go
select @para = 'like ''%'+ @ProductName+'%'''
select * from Products where productName @para
go
sql中''表一个'
就可以了.
至于 要在char 类型上进行模糊匹配查询,有待高手继续帮忙.
@ProductName nvarchar(255)
AS
select * from Products
where productName LIKE '%' + @ProductName + '%'
GO把这个粘贴保你好用
1)Products和productName这些表和列名称是否正确。
2)+符号前后的运算对象是否和+之间有空格
3)单引号是否写成了中文全角字符
还有。请不要使用char或nchar请使用varchar或nvarchar并且为参数保留尽可能长一点的宽度
改成:
productName charindex('"+productname+"',productname)>0
productName charindex('"+@productname+"',productname)>0
但你要注意,你是否使用了全角(中文)的
空格 ' % + 这些符号,因为查询分析器有些符号看不出来。
我就有过不小心使用了中文‘而不能显示,然后又报错的经历。
你把这个存储过程放到查询分析器中运行一下,看是否报错,报错的位置。然后再看是否有上述问题。如果没有,建议检查ASP。NET代码。
我现在再试一下,如果没问题。你就是这个原因。
select * from t_subject where caption like '%' + '' + '%'