专栏首页JAVA人生/面试技巧decode()和SQL语法case表达式

decode()和SQL语法case表达式

方法一:

使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

select ename "姓名",job "职位",sal "原工资",

  case job

    when 'ANALYST' then sal+1000

    when 'MANAGER' then sal+800

    else sal+400

from emp;

方法二:

使用oracle专用语法中的decode()函数

职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400 decode(字段,条件1,表达式1,条件2,表达式2,……表达式n)

select ename “姓名”,job “职位”,sal “原工资”, decode(job,’ANALYST’,sal+1000,’MANAGER’,sal+800,sal+400) “涨后工资” from emp;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CASE语句与CASE表达式

    case语句与case表达式是plsql流程控制的重要组成部分,尽管其使用方法较为简单,但容易混淆。本文将描述case语句与case表达式并给出演示...

    Leshami
  • 【DB笔试面试455】条件表达式CASE和DECODE的区别是什么?

    在SQL语句中使用IF-THEN-ELSE逻辑,可以使用两种方法:CASE表达式、DECODE函数。

    小麦苗DBA宝典
  • 学习SQL【8】-谓词和CASE表达式

    谓词 什么是谓词 谓词就是返回值为真值的函数。对于通常的函数来说,返回值有可能是数字、字符串和日期等,但是谓词的返回值全部是真值。这也是谓词和函数的最大区别。 ...

    爱吃西瓜的番茄酱
  • SQL中CASE表达式的妙用

    case 表达式分为搜索表达式和简单表达式,由于搜索表达式包含了简单表达式的所有用法,此处仅介绍搜索表达式的用法。

    披头
  • Oracle学习笔记_03_单行函数

    单行函数:        操作数据对象        接受参数返回一个结果 只对一行进行变换  每行返回一个结果        可以转换数据类型      ...

    shirayner
  • Oracle转换Postgres

    首先需要对Oracle和PostgreSQL的SQL都比较熟悉。对其理解的越详细就越具有优势,本文帮助读者迅速理解这两类SQL的区别是什么。

    yzsDBA
  • Oracle转换Postgres

    首先需要对Oracle和PostgreSQL的SQL都比较熟悉。对其理解的越详细就越具有优势,本文帮助读者迅速理解这两类SQL的区别是什么。

    yzsDBA
  • Oracle数据库易遗漏的知识点(一)

    上面的escape表示*后面的那个符号不当成特殊字符处理,就是查找普通的_符号

    提莫队长
  • Oracle 常用函数/语法总结

    (+) 等同于 left join on , 如果没有(+) 会过滤掉匹配不上的数据, 这里只过滤掉 t表的,反之加了(+)就是加上 ba 表中没有的数据.已 ...

    星尘的一个朋友
  • 语法解析器续:case..when表达式计算

    之前写过一篇博客,是关于如何解析类似sql之类的解析器实现参考:https://www.cnblogs.com/yougewe/p/13774289.html

    烂猪皮
  • 算法工程师-SQL进阶:强大的Case表达式

    相信大家对SQL都非常熟悉了,可能有些小伙伴会有疑问,算法工程师不是跑模型的吗?还需要学SQL?其实,很有必要!原因大概有以下几点吧:

    小萌哥
  • 刑侦高考:如何用SQL解决环环相扣的刑侦推理问题

    高考期间看到一个朋友在朋友圈里面贴了个图,上面是2018年刑侦科推理试题,看了一下题目,这些题目都是彼此依赖,很难找到一个题目作为入手点可以进一步分析,因此可能...

    数据和云
  • Oracle行转列语法总结大全

    墨墨导读:本文来自墨天轮用户“只是甲”的投稿,总结所有Oracle行转列的语法,供大家参考学习。

    数据和云
  • 【DB笔试面试467】Oracle中行列互换有哪些方法?

    行列转换包括以下六种情况:(1)列转行。(2)行转列。(3)多列转换成字符串。(4)多行转换成字符串。(5)字符串转换成多列。(6)字符串转换成多行。其中,重点...

    小麦苗DBA宝典
  • oracle 笔记

    如果你想查看一下数据库的时间该怎么办呢?你需要执行一个 SQL 语句,但是 SQL 语句语法规定需要指定一个表,为此 Oracle 设计了一个只有一行一列的表 ...

    Remember_Ray
  • Oracle经典面试题,你都掌握了吗?

    --以下使用的是SQL1999的连表方式,语法不一样效果与第一题使用的SQL1992的一样

    数据和云
  • 神奇的 SQL 之 CASE表达式,妙用多多 !

      历史考试选择题:黄花岗起义第一枪谁开的? A宋教仁 B孙中山 C黄兴 D徐锡麟,考生选C。

    青石路
  • SQL 基础-->常用函数

    lpad | rpad(x,width [,pad_string]) 字符定长,(不够长度时,左|右填充)

    Leshami
  • SQL处理表结构的基本方法整理(创建表,关联表,复制表)

    复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 只复制表结构到新表 CREATE TABLE 新表 SELECT * ...

    学到老

扫码关注云+社区

领取腾讯云代金券