当前位置:首页 » 编程语言 » sqlifcase

sqlifcase

发布时间: 2022-04-11 02:32:39

A. sql 新手 case 和if

使用case when,sql语句这样写:
select a.11,a.22,a.33 from a where a.33=:ID and a.11 = case when b.11='0' then a.11*0.7 else a.11 end:
自己转化成pb中的语句吧。

B. SQL中case改为if实现的问题

还是用case
你这句有问题,从你的语句上来看,id是数字型
那么,你想显示字符就不能用等于号
这样写
USE YGGL
GO
SELECT CASE ID
WHEN 1 THEN 'a'
WHEN 2 THEN 'b'
WHEN 3 THEN 'c'
WHEN 4 THEN 'd'
WHEN 5 THEN 'e'
END 'ID'
FROM Tepy

C. SQL语句中Case 的用法

Select Case 语句在有多个可能的条件必须被检查时使用。与 If 语句不同,Select Case语句在找到匹配的Case 表达式并执行了Case 表达式和下一个Case 表达式之间的语句后将立即跳出。如果没有匹配的Case 表达式,将执行其它语句。

Case Else 与lse 的意义相同。

Case 语句能接受各种类型的(作为判断条件的)表达式。表达式可以是单一值、由逗号分隔的一组值、能返回值的函数、用"To"关键字指定的值的范围或者使用"Is"关键字对等式或不等式进行测试。您可以连接不同类型的不同表达式,只要将它们用逗号分开即可。

D. 请教sql语句中如何实现if 或case语句

casewhen条件1then事件1
when条件2then事件2
else事件3
end

E. 如何在sql查询中使用if和case语句

if 作为条件判断,一般用在存储过程或者函数里面;
譬如
if sqlstate ='02000' then
select xxx from tab

case是作为判断,用在查询当中
select id, case when id = 1 then 'one' else 'null' end

高效两个没有可比性,深究一点,都是一个逻辑判断,然后出结果,所以旗鼓相当,没必要在这个问题上探究性能问题

F. 求详解SQL的CASE函数语句含义

select 课程,
sum(case when 姓名='李四' then 成绩 end)as '李四',
sum(case when 姓名='张三' then 成绩 end)as '张三'
from table_2
group by 课程

--意思是:
查询结果按照“课程”、“李四的成绩”、“张三的成绩”显示出来,
其中“李四的成绩”计算方法是:
当姓名=李四,那么就计算将该行的成绩按照课程进行分类加总
“张三的成绩”计算方法是:
当姓名=张三,那么就计算将该行的成绩按照课程进行分类加总

select 姓名,
sum(case when 课程='语文' then 成绩 end)as '语文',
sum(case when 课程='数学' then 成绩 end)as '数学',
sum(case when 课程='英语' then 成绩 end)as '英语'
from table_2
group by 姓名

--类似的意思是:
查询结果按照“姓名”、“语文”、“数学”、“英语”按照姓名进行加总各科成绩显示出来,
其中“语文”成绩计算方法是:
当科目=语文,那么就计算将该行的成绩按照姓名进行分类加总
“数学”成绩计算方法是:
当科目=数学,那么就计算将该行的成绩按照姓名进行分类加总
“英语”成绩计算方法是:
当科目=英语,那么就计算将该行的成绩按照姓名进行分类加总

case when 条件 then 表达式1 else 表达式2 end
表示:当条件成立,则返回表达式1,否则返回表达式2.
因此:sum(case when 姓名='李四' then 成绩 end)as '李四', 表示如果姓名为李四,则加总计算成绩,列名为‘李四’

类似的楼主可以自己理解了。

G. SQL语句中能否含有if....else...判断语句

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("字段名", 值) -- 非空验证。

H. SQL语句中如何使用含有ifelse判断语句

if else语句只有在存储过程,触发器之类的才有,今天突然在sql上当满足某种条件上要取不同的字段值,一开始直接网上查找相关资料,哇,sql上不支持!!!
不过可以使用case when语句解决,各种数据库都支持。
语法:
case when 条件1 then 结果1 when 条件2 then 结果2 else 结果N end1

可以有任意多个条件,如果没有默认的结果,最后的else也可以不写,
select case when col1 > 1 then col2 else col3 end from XXXtable

I. SQL里if语句和case语句有什么区别吗哪个使用更高效就是查询更优化

if 是条件判断语句 不能在 查询语句中出现,case 是条件检索 可以再查询中出现

热点内容
电脑都连不上服务器说ip不对 发布:2025-01-19 12:52:24 浏览:625
linux解压到文件夹命令 发布:2025-01-19 12:43:20 浏览:425
父母访问 发布:2025-01-19 12:33:05 浏览:794
加密文件如何编辑 发布:2025-01-19 12:31:18 浏览:219
androiddpi 发布:2025-01-19 12:21:15 浏览:655
服务器锁了怎么解 发布:2025-01-19 12:06:58 浏览:301
DH算法使用 发布:2025-01-19 11:57:30 浏览:932
Wcl上传如何选择服务器 发布:2025-01-19 11:17:24 浏览:763
如何编程简单给服务器发一个指令 发布:2025-01-19 11:16:44 浏览:806
python控制台乱码 发布:2025-01-19 10:55:38 浏览:364