cq601 2009-03-28 23:34
浏览 320
已采纳

有一很郁闷的问题,继续求解!关于SQL储存过程传递模糊查询参数

写了一个SQL储存过程,如下

banzub表有一列

banzhu
1班
2班
3班

CREATE PROCEDURE new
@bzset char(20)
AS
BEGIN
SELECT * FROM banzub where banzu LIKE @bzset

END

如此简单的储存过程,本来想检验"LIKE"模糊查询的,居然在输入参数 '%' 后没有输出任何一行,而输入 '%%%' 后才能输出3行数据?

不用储存过程,直接执行查询语句 SELECT * FROM banzub where banzu LIKE ‘%' 又正常,输出3行
或者储存过程不传递参数,直接写
CREATE PROCEDURE new
AS
BEGIN
SELECT * FROM banzub where banzu LIKE ‘%’
END

也正常输出了3行!!!

怎么回事啊?

难道%符号在储存过程中不能作为参数传递。

  • 写回答

3条回答 默认 最新

  • 孙大圣是程序猿 2009-03-30 17:39
    关注

    朋友你生命的是@bzset char(20) 20个字符 当你只输入员一个%他会给你自动补充空格的 你把那个改成@bzset char(1)试试先

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题