Oracle的基本学习(三)—函数
一、字符函数

1.大小写控制函数
--lower:使字母变为小写--
--upper:使字母变为大写--
--initcap:使字符的第一个字母变为大写--
select
lower('ABC'),
upper('sql'),
initcap('HeLlo SQL')
from dual;

select employee_id, department_id,last_name, salary
from employees
where lower(last_name)='king';

2.字符控制函数
concat(str1,str2)
连接两个字符串。
substr(str,index,n)
截取字符串,从index开始(sql字符串下标第一个为1),截取n个长度。
length(str)
获取str的长度。
instr(str1,str2)
str2在str1首次出现的索引,如果不存在返回0。
lpad(str1,len,str2)
设置str1长度为len,如果长度不够在左边用str2补齐。
rpad(str1,len,str2)
设置str1长度为len,如果长度不够在右边用str2补齐。
trim(str1,from str2)
去掉str2中的st1,仅仅是首部和尾部的。
replace(str,str1,str2)
把str中的str1替换成str2,全部都替换。
select
concat('hello','sql'),
substr('hellosql',2,4),
instr('HelloWorld','o'),
length('hello sql')
from dual;

select employee_id,last_name, salary,lpad(salary,10,'*')
from employees
where department_id=80;

--trim:仅仅去掉首位和尾部的--
--replace:替换所有的--
select
trim('A' from 'AABBAACCAA'),
replace('AABBAACCAA','A','M')
from dual;

二、数字函数
round: 四舍五入函数。
trunc: 截断函数。
mod: 求余函数。
--round:四舍五入--
select
round(435.45,1),
round(435.45),
round(435.45,-1)
from dual;

--trunc:截断--
select
trunc(435.45,1),
trunc(435.45),
trunc(435.45,-1)
from dual;

三、日期相关函数
to_char(date,'format_model')
对日期的转换。
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss')
from dual;

四、通用函数
nvl函数
格式: nvl(E1,E2)
解释: 如果E1为NULL,则函数返回E2,否则就返回E1。
nvl2函数
格式: nvl2(E1,E2,E3)
解释: 如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
nullif函数
格式: nullif(exp1,exp2)
解释: 如果两个表达式不相等,NULLIF 返回第一个exp1的值。如果两个表达式相等,NULLIF 返回空值NULL。
coalesce函数
格式: coalesce(exp1,exp2,,,,,)
解释: 依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。
case表达式
SELECT last_name,
job_id,
salary,
department_id,
CASE department_id
WHEN 10 THEN
10 * salary
WHEN 20 THEN
20 * salary
WHEN 30 THEN
30 * salary
ELSE
salary
END new_salary
FROM employees
WHERE department_id IN (10, 20, 30);

decode函数
SELECT last_name,
job_id,
salary,
department_id,
DECODE(department_id,
10,10 * salary,
20,20 * salary,
30,40 * salary,
salary) new_salary
FROM employees
WHERE department_id IN (10, 20, 30);

Oracle的基本学习(三)—函数的更多相关文章
- Oracle 数据库基础学习 (三) Oracle 四个表结构
Oracle 四个表的 emp dept salgrade bunus 的结构,记住有利于后期SQL语句的学习 雇员表(emp) No. 字段 类型 描述 1 empno NUMBER(4) 表示 ...
- 【软件实施面试】MySQL和Oracle联合查询以及聚合函数面试总结
软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子 ...
- oracle中的nvl(), nvl2()函数
nvl()函数是oracle/plpgsql中的一个函数,格式为:nvl(string1, replace_with) 功能:如果string1 位null,那么nvl()函数返回replace_wi ...
- TweenMax动画库学习(三)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) ...
- C++学习之函数指针
C++学习之函数指针 和数据项类似,函数也有地址,函数的地址是存储在机器语言代码的内存的开始地址.通常,这些地址对用户而言,不重要也没什么用处,但对程序而言,它却很有用. 一.函数 ...
- Oracle教程之学习笔记
Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...
- 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化
1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...
- DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件
DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件 本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...
- [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点
深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...
随机推荐
- Oracle 生成一张测试表并插入随机数据
--生成随机表 --CREATE table scott.One_Million as ( SELECT ROWNUM AS T_ID, TRUNC(DBMS_RANDOM.VALUE(, )) 年龄 ...
- 网站Web业务架构从小到大演变
有一天,我突发奇想创建了一个站点,基于 LNMP 架构,起初只有我自己访问,后来因为我点儿正,访问量越来越大,所以最终导致下面的架构演变. 1.单台机器 单台机器因为只是一个小站,访问量一天也没有多少 ...
- 《经久不衰的Spring框架:Spring+SpringMVC+MyBatis 整合》
前言 主角即Spring.SpringMVC.MyBatis,即所谓的SSM框架,大家应该也都有所了解,概念性的东西就不写了,有万能的百度.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目 ...
- SecureCRT文件传输模式
前言 如下图所示,SecureCRT6.5.0 有4种文件传输模式. 1)ASCII:最快的传输模式,但只能传文本 2)Xmodem:非常古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的 ...
- Debian/Ubuntu安装Oracle客户端TNS
本文作为新手在Linux上部署Java程序的必经之路的Oracle客户端配置,请高手绕道. 确定服务器版本 首选确定你的Oracle服务器版本,以便下载相应的客户端.查看的sql如下: select ...
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-yilianyun
koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyun ...
- DAX/PowerBI系列 - 参数表(Parameter Table)
DAX/PowerBI系列 - 参数表(Parameter Table) 难度: ★☆☆☆☆(1星) 适用范围: ★★★★☆(4星) 概况: 这个模式比较简单灵活,而且很实用.所用的DAX语句也比较简 ...
- mysql 修改数据库data存放位置
一.首先把mysql的服务先停掉. 二.更改MySQL配置文件My.ini中的数据库存储主路径 打开MySQL默认的安装文件夹C:\Program Files\MySQL\MySQL Server 5 ...
- 浅谈jquery插件开发模式
首先根据<jQuery高级编程>的描述来看,jQuery插件开发方式主要有三种: 通过$.extend()来扩展jQuery 通过$.fn 向jQuery添加新的方法 通过$.widget ...
- 存储结构与邻接矩阵,深度优先和广度优先遍历及Java实现
如果看完本篇博客任有不明白的地方,可以去看一下<大话数据结构>的7.4以及7.5,讲得比较易懂,不过是用C实现 下面内容来自segmentfault 存储结构 要存储一个图,我们知道图既有 ...