这是where条件中的一个,@stage是存储过程传入的参数,是nvarchar(100)
where @stage=N'All' or (@stage<>N'All' and ProjectStage.StageName=@stage)执行时stage=all的时候都ok(大小写我就直接忽略了,打大写麻烦)但是当给定某值时就什么数也抽不出来了,例如@stage = N'Interest',等等(有数据)
我是在哪里缺了什么吗
where @stage=N'All' or (@stage<>N'All' and ProjectStage.StageName=@stage)执行时stage=all的时候都ok(大小写我就直接忽略了,打大写麻烦)但是当给定某值时就什么数也抽不出来了,例如@stage = N'Interest',等等(有数据)
我是在哪里缺了什么吗
解决方案 »
- 将DropDownList的值写入字段为int的数据库,急。。。
- 现在做项目:sql2000和2005用哪个比较好,两个版本之间数据转移不会有问题吧
- 简单的SQL问题
- 请问一个SQL语句?
- 聚合函数可以在一个SQL相加吗
- 存储过程错误
- 各位SQL SEVER的高手大哥们,请帮我个大忙,关于SQL SERVER 2000 Development的数据丢失的问题.急急急......
- 存储过程接收的参数如果是表名的话,行不行?
- 200分!关于SQL脚本从SQL SERVER向ORACLE转化的问题(非常着急,只要能解决问题可以再开帖加分)http://www.csdn.net/expert/topic/776/7
- 急,求交叉表
- 问个小问题
- sql中如何修改日期的缺省值1900年1月1日,为何目前我的MSSQL2005 默认的为1899-12-31
估计要使用动态SQL.exec(' ... where @stage=N''All'' or (@stage <>N''All'' and ProjectStage.StageName=N''' + @stage + '''')
写错了,直接这样即可.where @stage='all' or ProjectStage.StageName = @stage
stagename的类型是nvarchar(100)