oracle if 使用函数,Oracle 常见函数用法
1.decode函数
SELECT ID,NAME,DECODE(LEVER,1,'教授',2,'副教授',3,'导师','讲师') POSITION,(SELECT CLASSNUM FROM CLASS T WHERE T.NUM = S.NUM) NUM FROM TEACHER S WHERE T.LEVER IN (1,3);
上句sql中的decode函数的用法逻辑是这样理解的:
IF(LEVER==1) THEN
RETURN '教授'(翻译值1)
ELSE IF(LEVER==2) THEN
RETURN '副教授'(翻译值2)
ELSE IF(LEVER==3) THEN
RETURN '导师'
ELSE
RETURN '讲师'(默认值)
其中,默认值可有可无
2.NVL函数
SELECT ID,PERSONNAME,NVL(BOOKNUM,0) AS BOOKNUM,NVL(PERSONNUM,0) AS PERSONNUM FROM BOOKSTORE
上句sql的NVL()函数可以这样理解:
IF (BOOKNUM !=NULL) THEN
RETURN BOOKNUM
ELSE
RETURN 0
3.NVL2函数
SELECT ID,NVL2(BOOKNUM,BOOKNUM,NVL2(PERSONNUM,PERSONNUM,0) AS PERSONNUM FROM BOOKSTORE
上句sql的NVL2()函数可以这样理解
IF (BOOKNUM !=NULL) THEN
RETURN BOOKNAME
ELSE IF(BOOKNUM == NULL)
RETURN 0
值得注意的是,BOOKNAME和0类型不同的话,0会转换成BOOKNAME的类型,转换不了,则会报错
4.NULLIF函数
SELECT E.NAME,E.JOB_ID,J.JOB_ID,NULLIF(E.JOB_ID,J.JOB_ID) AS SAME FROM EMPLOYEES E,JOB_HISTORY J
WHERE E.EMPLOYEE_ID = J.EMPLOYEE_ID ORDER BY NAME;
上句sql的NULLIF()函数可以这样理解
IF(E.JOB_ID == J.JOB_ID) THEN
RETURN NULL
ELSE
RETURN E.JOB_ID
5.SUM函数
SELECT ID,CLASSNAME,SUM(NVL(RESULTS,0)) AS RESULTS,SUM(DECODE(TYPE,'50',1)) AS CLASSTYPE FROM CLASS
上句sql的SUM()函数主要是用来求和括号里表达式返回的值,或表中某个字段的总和
6.SUBSTR函数
SELECT SUBSTR(CLASSNAME,0) AS CLASSNAME,SUBSTR("今天天气是晴天!",2) FROM CLASS;
上句sql的SUBSTR()函数主要是用来截取字符串的一部分的,如SUBSTR(CLASSNAME,0)表示从第0个字节开始截取CLASSNAME字符串,SUBSTR("今天天气是晴天",2)表示从第三个字节开始截取"今天天气是晴天"中的两个字节,结果是"天气".
7.TO_CHAR函数
SELECT S.ID,S.NAME,TO_CHAR(S.TIME,'yyyy-mm-dd hh24:mi:ss'),TO_CHAR(S.MONEY,'999') AS MONEY
FROM STUDENT S
上句sql的SUBSTR()函数主要是将数值型或日期型字段转换成字符型,方便做类似模糊查询的操作
oracle if 使用函数,Oracle 常见函数用法相关推荐
- oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解
本文实例讲述了oracle 存储过程.函数和触发器用法.分享给大家供大家参考,具体如下: 一.存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数. 创建存储过程 用CR ...
- oracle关于字符串函数,Oracle字符串处理函数
Oracle字符串处理函数 Oracle字符串处理函数 2008年10月18日 星期六 23:45 项目中有涉及存储过程对字符串的处理,所以就将在网上查找到的资料汇总,做一个信息拼接式的总结. 以下信 ...
- oracle中treat函数,Oracle 函数概览
-- Start Oracle 内置的函数真的是很多,要精通每个函数几乎是不可能的,所以本文并不打算介绍每个函数的具体用法,而是提供一个概览,让您了解每个函数的功能,这样,当你感觉你需要某些功能的函数 ...
- oracle的连接函数,Oracle各种连接函数总结
1.前言 Oracle可用连接函数会介绍以下几个 Oracle列转行函数 Listagg() strcat() wmsys.wm_concat() 2.Oracle列转行函数 Listagg() 2. ...
- oracle中转换函数,Oracle中的转换函数
Oracle中的转换函数有三个,分别为to_char(),to_date(),to_number() 1.to_char()的用法 格式化当前的日期时间 select sysdate,to_char( ...
- oracle查看时间戳函数,oracle数据库实现获取时间戳的无参函数
oracle数据库实现获取时间戳的无参函数 代码如下所示: CREATE OR REPLACE FUNCTION GETMSTIMESTAMP RETURN NUMBER AS MSTIMESTAMP ...
- oracle中各种函数,oracle中常用函数大全
1.数值型常用函数 函数 返回值 样例 显示 ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数 s ...
- oracle中lead函数,oracle lead()函数 | 学步园
ead()是一个分析函数,适用于oracle 8i以后的版本, 使用这个函数,你可以一次性从表中查询多条记录, 而不需要进行表的自连接. 返回值:返回与当前行偏离offset行的列值. 语法: lea ...
- oracle对象权限 函数,oracle的系统和对象权限
alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任 ...
- oracle调用MySQL函数,Oracle的INSTR函数MySQL实现
Oracle的INSTR函数MySQL实现 一个迁移项目遇到的,MySQL的instr函数只能查找子串是否在父串中,没法按照出现的次数进行查找.这里我自己写了一个,以便迁移.当然我这里仅仅针对的是迁移 ...
最新文章
- 【神经网络】(7) 迁移学习(CNN-MobileNetV2),案例:乳腺癌二分类
- 斗图必备!AI实战各种沙雕表情包分门别类~
- 梅宏院士:软件定义的未来——万物皆可互联,一切均可编程 | CNCC 2017
- 阐述Linux动态库的显式调用
- Java多线程同步Synchronized深入解析
- 从Windows到Linux
- 去除img之间的空白
- HTML 4.01 event 事件
- Tomcat-部署多个项目(不同端口)
- Java并发编程实战~Balking模式
- 例7.8 分析下列程序的输出结果。《计算机等级考试二级C++语言》
- 气势汹涌,天津设立千亿级AI基金;刘强东否认会因AI开除一半员工
- 软件设计师考试内容纲要
- 3D打印Gcode文件命令详解
- tftp命令文件传输
- 以读者角度走进RFID打造的智慧图书馆
- 出去计算机写保护,Win7复制文件提示磁盘被写保护,请去掉写保护或另一张磁盘怎么解除...
- 3.1 电压频率变换器
- 愿所有我和码农们 printf(“前程似锦”)
- 使用 Metasploit 渗透局域网 Windows 设备