找回密码
 注册会员
查看: 1030|回复: 0

Sql 2005 存储过程问题

[复制链接]
发表于 2009-12-12 14:37:45 | 显示全部楼层 |阅读模式
<p>Sql 2005 存储过程问题</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:0 -</p>
<p>解决时间:2009-12-12 14:36</p>
<p>ALTER PROCEDURE [dbo].[P_SearchPlanByNameAndTime]</p>
<p>-- Add the parameters for the stored procedure here</p>
<p>@vc_PlanTitle varchar(200),</p>
<p>@dt_FromTime datetime,</p>
<p>@dt_EndTime datetime</p>
<p>AS</p>
<p>BEGIN</p>
<p>-- SET NOCOUNT ON added to prevent extra result sets from</p>
<p>-- interfering with SELECT statements.</p>
<p>if(@vc_PlanTitle=null)</p>
<p>begin</p>
<p>select i_Id,vc_PlanTitle,vc_UnitName,dt_SysTime,i_State,bt_IsSendOver from [v_Plan] where (dt_SysTime between @dt_FromTime and @dt_EndTime)</p>
<p>end</p>
<p>begin</p>
<p>select i_Id,vc_PlanTitle,vc_UnitName,dt_SysTime,i_State,bt_IsSendOver from [v_Plan] where (vc_PlanTitle like \'%\'+rtrim(@vc_PlanTitle)+\'%\') and (dt_SysTime between @dt_FromTime and @dt_EndTime)</p>
<p>end</p>
<p>END</p>
<p>问题是:我想传入@vc_PlanTitle值为空时,执行第一个sql语句,但是为什么执行的是第二个?</p>
<p>谢谢</p>
<p>提问者: wan16 - 七级</p>
<p>最佳答案</p>
<p>判断的时候不能用 @vc_PlanTitle=null 应该用@vc_PlanTitle is null</p>
<p>1</p>
<p>回答者:</p>
<p>某某虫 - 二级   2009-12-12 14:34</p>
<p>我来评论>></p>
<p>提问者对于答案的评价:</p>
<p>非常感谢哈  谢谢</p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-5-21 16:04

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表