SQL语句中能否含有if....else...判断语句?
有个表,其中有col1,col2,和col3三列,如果col1>1,输出col2,否则输出col3,这样的条件能否用SQL语句实现?尝试了很久,不得其解,求高手解答...
有个表, 其中有col1,col2,和col3三列, 如果col1>1, 输出col2, 否则输出col3, 这样的条件能否用SQL语句实现? 尝试了很久, 不得其解, 求高手解答
展开
9个回答
展开全部
SQL中没有ifif....else...判断语句,但有case…语句,而且是所有数据库都支持的。
拓展资料:
程序中用法如下:
1、oracle和mysql数据库都可以这样写CASE WHEN (RO.APPROVE_QUANTITY - NVL(tto.QUANTITY , 0 )) < 0 THEN 0 ELSE (RO.APPROVE_QUANTITY-NVL(tto.QUANTITY , 0 )) END surplusQuantity.
2、注意:NVL()是oracle数据库中对字段的非空校验,如果字段名为空,则赋值为逗号后面的值。
3、mysql中还有一种if...else的方法if(表达式, 表达式成立的值, 表达式不成立的值)
ifnull("字段名", 值) -- 非空验证。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql中没有if语句,但有case语句,而且是所有数据库都支持的,
语法是case when 条件1 then 结果1 when 条件2 then 结果2 else 结果N end,
可以有任意多个条件,如果没有默认的结果,最后的else也可以不写,
select case when col1 > 1 then col2 else col3 end from XXXtable
语法是case when 条件1 then 结果1 when 条件2 then 结果2 else 结果N end,
可以有任意多个条件,如果没有默认的结果,最后的else也可以不写,
select case when col1 > 1 then col2 else col3 end from XXXtable
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先SQL语句中不能含有if....else...判断语句!
if else语句只有在存储过程中使用,在SQL是不支持的,不过我们有可以替代的方法,使用case when语句解决,各种数据库都支持。
语法:case when col1>1 then col2 when col1<=1 then col3 else '出现错误'
车到山前必有路,问题肯定是可以中找到方法解决的,不要着急
if else语句只有在存储过程中使用,在SQL是不支持的,不过我们有可以替代的方法,使用case when语句解决,各种数据库都支持。
语法:case when col1>1 then col2 when col1<=1 then col3 else '出现错误'
车到山前必有路,问题肯定是可以中找到方法解决的,不要着急
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql中没有if...else...语句,但有case when语句,能达到你想要的效果。
select case when col1>1 then col2 else col3 end from 表名;
select case when col1>1 then col2 else col3 end from 表名;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询