`

nvl与case when

阅读更多
1、不用CASE,用NVL函数即可:
SELECT sid,NVL(sname,'姓名为空' ) from stuinfo;

2、CASE:
SELECT sid,
CASE WHEN snameIS NULL THEN '姓名为空'  ELSE sname END CASE
from stuinfo;
分享到:
评论

相关推荐

    Oracle用decode函数或CASE-WHEN实现自定义排序

    本文将深入探讨如何使用`DECODE`函数和`CASE-WHEN`语句在Oracle中实现自定义排序。 1. **DECODE函数** `DECODE`函数在Oracle中被广泛用于条件判断和值的替换。在自定义排序的场景下,我们可以根据字段值来指定对应...

    浅谈Mysql中类似于nvl()函数的ifnull()函数.pdf

    CASE函数有两种形式,一种是CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END,另一种是CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...

    习惯了oracle10g写法的朋友们注意了,oralce11g有变化了,小谈空字符串与null的区别

    场景:以前oracle10g的时候习惯使用case when nvl(字段,‘’)=‘’ then …取值1 else 取值2 end ,在oralce11g也这么写的时候,你会发现,所有取值都会取值2,不会取到取值1,为什么呢? 这是因为oracle中字段时空...

    浅谈Mysql中类似于nvl()函数的ifnull()函数

    在本文中,我们将深入探讨`IFNULL()`函数的用法,并与`IF()`函数和`CASE`语句进行对比。 `IFNULL()`函数的基本语法如下: ```sql IFNULL(expr1, expr2) ``` 这里的`expr1`是你想要检查是否为NULL的表达式,而`...

    SQL学习笔记.docx

    CASE WHEN 函数的语法为 CASE WHEN condition THEN result [ WHEN condition THEN result ... ] ELSE result END,其中 condition 是条件,result 是执行的结果。 SIGN 函数 SIGN 函数是一个数学函数,用于返回一...

    SQL等价改写优化案例精选

    然而,通过巧妙运用`CASE WHEN`语句,可以将这些子查询合并为一个更加简洁高效的查询语句,从而减少表扫描次数,提升查询性能。 原始SQL: ```sql SELECT DISTINCT ne_state.peer_id peer_name, to_char(ne_state....

    mysql转oracle要注意的几项

    SELECT (CASE WHEN NVL(列1, 0) > 0 AND NVL(列2, 0) > 10 THEN 1 ELSE 0 END) AS num FROM 表名; ``` 这里,`NVL`函数用于处理可能的NULL值,当`列1`和`列2`都不为NULL且满足条件时,结果为1,否则为0。这是在...

    oracle处理空值的方法

    与NVL相比,COALESCE可以接受多个参数,提供了更多的灵活性。 **示例代码:** ```sql HR@XE> select coalesce(commission_pct, 0) 2 from employees 3 where commission_pct is null 4 and rownum = 1; ``` 此...

    Oracle面试题及答案整理

    SUM(CASE WHEN fsalary > 9999 AND fage > 35 THEN 1 ELSE 0 END) AS "fsalary>9999_fage>35", SUM(CASE WHEN fsalary > 9999 AND fage ) AS "fsalary>9999_fage, SUM(CASE WHEN fsalary < 9999 AND fage > 35 ...

    学习oracle笔记(word版本)

    CASE WHEN THEN END CASE结构允许基于不同条件执行不同的动作。 5. **循环结构**:Oracle PL/SQL支持多种循环结构,如WHILE、FOR和LOOP。例如,`FOR循环`常用于遍历范围或集合,而`LOOP WITH EXIT WHEN`可以实现更...

    oracle常用函数全集

    DECODE(expr, search_expr, result, ..., default)函数类似于CASE WHEN...ELSE...END表达式,但更简洁。 ```sql SELECT decode(1, 1, 'True', 'False') AS result; ``` ### 9. Oracle 连接查询 在Oracle中,可以...

    Oracle与Mysql差异说明.doc

    3. DECODE 和 CASE WHEN:Oracle 的 DECODE 函数在条件判断中提供简洁的语法,但在 MySQL 中,你需要使用 CASE WHEN THEN END 结构来实现相同功能。 4. TO_DATE 和 STR_TO_DATE:Oracle 的 TO_DATE 函数将字符串...

    Oracle的几个Function实例

    例如,如果你有一个员工表,其中的电话号码字段可能为空,你可以用NVL函数来显示一个默认的电话号码: ```sql SELECT NVL(phone_number, '无电话') AS "Contact Info" FROM employees; ``` 这将把所有空的电话...

    SQL基础测试题目2分享.pdf

    使用`CASE WHEN`语句可以构建条件表达式,这里用来判断学生的成绩是否超过60分,如果超过则标记为“及格”,否则标记为“不及格”。同样使用`LEFT JOIN`确保所有学生的信息都包含在内。 4. **统计学生选科数量** ...

    oracle sql 优化

    SELECT COUNT(CASE WHEN DEPT_NO = '0020' THEN 1 ELSE NULL END) D0020_COUNT, COUNT(CASE WHEN DEPT_NO = '0030' THEN 1 ELSE NULL END) D0030_COUNT, SUM(CASE WHEN DEPT_NO = '0020' THEN SAL ELSE 0 END) D...

    sql+语句练习与答案+.txt

    TRUNC(SUM(CASE WHEN NVL(score, 0) > 60 THEN 1 ELSE 0 END) / COUNT(s#), 2) AS 及格率 FROM ze_score GROUP BY c#; ``` 此查询计算每门课程的平均成绩、总成绩、选课人数以及及格率。其中使用了`CASE`语句来判断...

    oracle 面试题

    SELECT SUM(CASE WHEN fsalary > 9999 AND fage > 35 THEN 1 ELSE 0 END), SUM(CASE WHEN fsalary > 9999 AND fage ), SUM(CASE WHEN fsalary < 9999 AND fage > 35 THEN 1 ELSE 0 END), SUM(CASE WHEN fsalary ...

    sql语句练习 及 答案

    TRUNC(SUM(CASE WHEN NVL(score, 0) > 60 THEN 1 ELSE 0 END) / COUNT(s#), 2) AS 及格率 FROM ze_score GROUP BY c#; ``` **解析:** 此查询展示了如何使用多个聚合函数来统计各科目的综合数据。 ### 8. 删除指定...

Global site tag (gtag.js) - Google Analytics