case when,casewhen语句使用详解?
答:casewhen语句使用详解如下:
利用case when进行分支判断:
第一种形式:
CREATE OR REPLACE FUNCTION GET_SALARY1(ENAME IN VARCHAR2) RETURN NUMBER
AS
BEGIN
CASE
WHEN ENAME='ZXQ' THEN
RETURN 1;
WHEN ENAME='TJH' THEN
RETURN 2;
WHEN ENAME='HLW' THEN
RETURN 3;
ELSE
RETURN 0;
END CASE;
END GET_SALARY1;
第二种形式:只适用于表达式的值在有限且确定的范围之内进行匹配。
CREATE OR REPLACE FUNCTION GET_SALARY2(empno IN NUMBER) RETURN NUMBER
AS
BEGIN
CASE EMPNO
WHEN 0 THEN
RETURN 1;
WHEN 1 THEN
RETURN 2;
WHEN 2 THEN
RETURN 3;
ELSE
RETURN 0;
END CASE;
END GET_SALARY2;
第三种形式:
SELECT DEPTNO,(CASE WHEN ENAME='ZXQ' THEN EMPNO ELSE 0 END)
FROM EMP;
注:将表中每条数据都校验一下,若ENAME='ZXQ'则输出empno值否则输出0。
请教OracleCaseWhen用法?
利用case when进行分支判断:
第一种形式:
CREATE OR REPLACE FUNCTION GET_SALARY1(ENAME IN VARCHAR2) RETURN NUMBER
AS
BEGIN
CASE
WHEN ENAME='ZXQ' THEN
RETURN 1;
WHEN ENAME='TJH' THEN
RETURN 2;
WHEN ENAME='HLW' THEN
RETURN 3;
ELSE
RETURN 0;
END CASE;
END GET_SALARY1;
第二种形式:只适用于表达式的值在有限且确定的范围之内进行匹配。
CREATE OR REPLACE FUNCTION GET_SALARY2(empno IN NUMBER) RETURN NUMBER
AS
BEGIN
CASE EMPNO
WHEN 0 THEN
RETURN 1;
WHEN 1 THEN
RETURN 2;
WHEN 2 THEN
RETURN 3;
ELSE
RETURN 0;
END CASE;
END GET_SALARY2;
第三种形式:
SELECT DEPTNO,(CASE WHEN ENAME='ZXQ' THEN EMPNO ELSE 0 END)
FROM EMP;
注:将表中每条数据都校验一下,若ENAME='ZXQ'则输出empno值否则输出0
sql中casewhenthen中end是什么意思?
例如一个3条件取值的字段:case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 endwhen后接条件语句,then后为字段取值(数值或字符串等都可以,但类型须一致)。CASE WHEN 及 SELECT CASE WHEN的用法: Case具有两种格式。简单Case函数和Case搜索函数。1、 简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END2、Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' 参考资料
situation等做先行词?
case. situation 用where或 in which
point看具体情况, 指时间用when
地点用where ,
不确定 随便用when还是where
when可以用在where后吗?
是的,CASE WHEN语句可以在WHERE子句中使用。在WHERE子句中,您可以使用CASE WHEN语句根据条件来过滤数据。例如,您可以根据不同的条件选择不同的过滤条件。下面是一个示例:
SELECT *
FROM 表名
WHERE
CASE
WHEN 列名 = 值1 THEN 条件1
WHEN 列名 = 值2 THEN 条件2
ELSE 条件3
END;
在上述示例中,根据不同的条件,选择不同的过滤条件进行筛选。根据您的具体需求,您可以根据实际情况进行CASE WHEN语句的编写。
如果您还有其他问题,我会随时为您解答。还有什么我可以帮助您的吗?
还没有评论,来说两句吧...