sql 如果传值等于0就查等于0的,不等于0就查大于0的 怎么写
展开全部
你在语言里面写就行了,到sql里的时候就生成语句了,比如说你写好判断
string sqlstr="select * from 表名 where ";
string strWhere="";
if(x=0){
//生成的语句是
strWhere="x=0";
}else
{
strWhere="x>0";
}
sqlstr=sqlstr+strWhere;
string sqlstr="select * from 表名 where ";
string strWhere="";
if(x=0){
//生成的语句是
strWhere="x=0";
}else
{
strWhere="x>0";
}
sqlstr=sqlstr+strWhere;
更多追问追答
追问
如 select * from table where (@i=-1 or id>@i) 这样 传-1的话 就查所有的 大于-1的话就查大于@i的值 不能if 还不能拼接SQL语句
追答
那你想要什么样的?
存储过程你这个是?
要是存储过程你就在上面定义一个 函数,然后做判断,最后放到 where 后面就可以了
北京埃德思远电气技术咨询有限公司
2023-08-25 广告
2023-08-25 广告
"整定计算的工作步骤,大致如下:1.确定整定方案所适应的系统情况。2.与调度部门共同确定系统的各种运行方式。3.取得必要的参数与资料(保护图纸,设备参数等)。4.结合系统情况,确定整定计算的具体原则。5.进行短路计算。6.进行保护的整定计算...
点击进入详情页
本回答由北京埃德思远电气技术咨询有限公司提供
推荐于2016-12-02
展开全部
如果是 SQL Server 的话.
SELECT
*
FROM
表
WHERE
列 = CASE WHEN @参数 = 0 THEN 0 ELSE 2147483647 END
OR
列 > CASE WHEN @参数 <> 0 THEN 0 ELSE 2147483647 END
注: 2147483647 是 int 的最大值。
SELECT
*
FROM
表
WHERE
列 = CASE WHEN @参数 = 0 THEN 0 ELSE 2147483647 END
OR
列 > CASE WHEN @参数 <> 0 THEN 0 ELSE 2147483647 END
注: 2147483647 是 int 的最大值。
追问
(id=@i or id>@i) 这样写条件就搞定 虽然没试你的方法 但看你写的蛮多的 分就给你了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询