Oracle单组函数
--Upper -------把字符转换成大写
SELECT Upper ('abcde') FROM dual ;
--Lower ----- 把字符转换成小写
SELECT lower('ABCDE') FROM dual ;
--Initcap -----返回所有单词的首字母大写,其他字母小写
Select initcap(ename) from emp;
--Concat -----字符串连接 ,相当于||
Select concat('a','b') from dual;
Select 'a' || 'b' from dual;
--Substr -------查找字符串
Select substr('abcde',length('abcde')-2) from dual;
Select substr('abcde',-3,3) from dual;
substr(string,position,substring_length)
1、如果position=0, 则被当做1
2、如果position>1, 则从position位置开始找
3、如果position<1, 则从结尾开始找
4、如果第三个位置没有指定,则从指定位置到结尾
--Length ------字符串的长度
Select length(dname) from dept;
--Replace -----字符串替换
Select replace(ename,'a','A') from emp;
--Instr -- -----字符串查找,返回索引值
Select instr('Hello World','or') from dual; --8 indexof
--Lpad ------左侧填充
select lpad('Smith',10,'*') from dual--左侧填充 *****Smith
--Rpad ------右侧填充
select rpad('Smith',10,'*') from dual--右侧填充 Smith*****
--Trim -------过滤首位空格
select trim(' Mr Smith ') from dual --过滤首尾空格 Mr Smith
--数值函数
--Round -----四舍五入,取精度
select round(462,-2) from dual; ------负数往小数点前数 ----500
select round(412.313,2) from dual; -----正数往小数点后数 ----412.13
--Trunc -----不四舍五入,直接取最大值
select trunc(462.13,-2) from dual; ----400
--日期函数
--Months_between() -----两个时间之间隔了多少个月
select months_between(sysdate,hiredate) from emp;
--Add_months() ------在某个时间点上加一个月
select add_months(sysdate,1) from dual;
--Next_day()
select next_day(sysdate,'星期一') from dual; ----返回下一个星期一的日期
--Last_day
select last_day(sysdate) from dual; ----返回这个月的最后一天
--转换函数
--To_char
select to_char(sysdate,'yyyy') from dual; ---2011
select to_char(sysdate,'yyyy-mm-dd') from dual; ----2011-07-16
select to_char(sal,'L999,999,999') from emp; ----
select to_char(sysdate,'D') from dual; --返回星期 ----7
--To_number
select to_number('13')+to_number('14') from dual; ------27
--To_date
Select to_date('2009-02-10','yyyy-MM-dd') from dual; ----2009/2/10
select to_char('001') from dual; ----001
select to_number('003')from dual; -----3
--通用函数
--NVL()函数 -----有值返回本身,无值返回0
select nvl(comm,0) from emp;
--NULLIF()函数 ----如果表达式 exp1 与exp2 的值相等则返回 null,否则返回 exp1 的值
nullif(exp1,exp2)
--NVL2()函数
select empno, ename, sal, comm, nvl2(comm, sal+comm, sal) total from emp; ----如果comm不为null,返回sal+comm,否则返回comm
--COALESCE()函数 --依次考察各参数表达式,遇到非null值即停止并返 回该值。
select empno, ename, sal, comm, coalesce(sal+comm, sal, 0)总收入 from emp;
--CASE表达式
select empno, ename, sal,
case deptno
when 10 then '财务部'
when 20 then '研发部'
when 30 then '销售部'
else '未知部门'
end 部门
from emp;
--DECODE()函数 --和 case表达式类似,decode()函数也用于实现多路分支结构
select empno, ename, sal,
decode(deptno, 10, '财务部',
20, '研发部',
30, '销售部',
'未知部门')
部门
from emp;
case在SQL中有两种写法,先建立一个表
create table salgrade(grade int, sal int);
insert into salgrade values(1,1000);
insert into salgrade values(2,2000);
insert into salgrade values(3,3000);
第一种写法,简单写法:
select grade,sal,
case grade
when 1 then 'low'
when 2 then 'middle'
else 'high'
end
from salgrade;
第二种写法,查找写法:
SELECT grade,sal,
case when sal <=1000 then 'low'
when sal <=2000 then 'middle'
else 'high'
end
FROM salgrade;
decode只能代替第一种写法:
select grade,sal,decode(grade,1,'low',2,'middle','high') from salgrade;
--单行函数嵌套
select empno, lpad(initcap(trim(ename)),10,' ') name, job, sal from emp;
Oracle单组函数相关推荐
- Oracle单组函数、分组函数
文章目录 1.函数基础 1.1SQL函数 1.2两种SQL函数 2.单行函数 2.1说明 2.2字符函数 2.2.1大小写控制函数 2.2.2字符控制函数 2.3数字函数 2.4日期 2.4.1日期的 ...
- Oracle常用函数总结
文章目录 Oracle常用函数 1. 时间及日期处理函数 1.1 时间格式表示方法 1.2 日期和字符串之间的转换 1.3 时间及日期的计算方法 1.4 日期常见问题处理 2. 字符串函数及数字截取函 ...
- Oracle round函数是什么意思?怎么运用?
如何使用 Oracle Round 函数 (四舍五入) 描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果. SELECT ROUND( number, [ decimal_p ...
- oracle 四分位函数,Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
Oracle 分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据 ORDER BY 子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内 ...
- oracle+cast函数+长度,oracle cast() 函数问题
oracle cast() 函数问题 关键字: oracle cast() 函数问题 SQL> create table t1(a varchar(10)); Table created. SQ ...
- Oracle trunc()函数的用法
--Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual --20 ...
- oracle显示当天日期函数,oracle日期函数
oracle日期函数 1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual 当 ...
- ORACLE时间函数(SYSDATE)深入理解
ORACLE时间函数(SYSDATE)深入理解 加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,a ...
- 十、oracle 常用函数
一.字符函数 字符函数是oracle中最常用的函数,我们来看看有哪些字符函数: lower(char):将字符串转化为小写的格式. upper(char):将字符串转化为大写的格式. length(c ...
最新文章
- 图灵奖得主高德纳与 LaTex 有啥关系?90%的人都不知道
- C#操作Access数据库中遇到的问题(待续)
- Linux初级运维(十七)——Linux内核编译与系统裁减
- Android开发笔记(五十六)摄像头拍照
- 师大校园网迅雷解封软件 之 配置QQ旋风2
- js 判断多个一样的name
- Pytorch基本操作
- 全数字FM接收机 --(1)结构
- 转 利用java反射实现两个具有相同属性bean赋值
- 简述delete与delete[]的区别
- ELK安装( Elasticsearch、Logstash、Kibana)
- 传奇服务器常见的网络攻击方式有哪些?-版本被攻击
- 账户经常被盗号怎么办?防盗“黑科技”了解一下
- 苹果电池显示维修_苹果财大气粗:维修换电池?直接给你换个机
- SpringBoot-Mongodb双数据源配置
- 修改C盘用户的中文名为英文名
- Java设计模式之《装饰器模式》及应用场景
- PotPlayer 和 VLC 播放器的书签
- 在SQLserver中如何获得两个日期相减的天数?
- 无锡人称包子为馒头,跟宋朝有关?
热门文章
- vscode无法打开源文件iostream_C++的iostream标准库介绍(1)
- linux关机_3.5 开关机命令及7个运行级别《LINUX-centos7-操作系统入门到精通》
- Android vlc 分析视频,VLC-Android 对视频流(RTSP)做翻转、旋转
- spark 读取多个路径_spark
- java 文件名 类名_java文件名为什么要与类名相同
- redis的hyperloglog用法
- php 函数漏洞,PHP绕过禁用函数漏洞的原理与利用分析
- matlab分析电池特性,基于Matlab_Simulink的光伏电池特性仿真研究
- Spring 依赖注入Dependency Injection
- AudioParam