--函数及关键字--
1.trim,ltrim,rtrim 去除字符,无指定默认去除空格
SELECT TRIM('a' FROM 'aafhfhaaaaaaaa'),
LTRIM('aafhfhaaaaaaaa','a'),
RTRIM('aafhfhaaaaaaaa','a')
FROM dual fhfh, fhfhaaaaaaaa,aafhfh
---以前一直以为只能去除空格,去除某字符都用replace函数替换

2.连接字符串函数:CONCAT函数和||

concat包含两个参数,多个字符串连接需套用
concat(1,2) 12

3.UPPER,LOWER,INITCAP函数:可以将字符串转换为全大写,全小写,以及首字母大写(单词之间用空格分开)

4.LENGTH函数:获取字符串的字符长度.

5.LPAD,RPAD函数:补位函数,当要显示的内容长度不足给定长度时,在左面或右面补充若干给定字符以达到长度。若实际显示的内容超过显示长度时,会截取实际显示内容。
select lpad('123',5,'0')|| rpad('54321',3,'0') from dual ---00123543

6.四舍五入,截取,
floor:取整 floor(1234.5678)--1234
round:四舍五入 round(1234.5678,-2)--1200 第二个参数为正向小数点后四舍五入,为负向前,0或没有取整四舍五入
ceil(1234.5678)--1235 整数返回自己,小数返回大于他自己的最小整数(取整加1)
trunc(1234.5678,-2)trunc(sysdate,'mm') --1200,20170201 对数字根据第二参数截取,正后负前,对时间按第二参数取时间,若是MM(月)取到月初第一天,其他同理
substr(‘12345678’,-5,3)--456 截取第一个参数字符串,从下标为第二个参数开始,以第三个参数为个数取,若第二个为负数则从最后一个开始向前数对应的个数,第二个为0和1都是

从第一个开始,第三个参数可省略
他的兄弟:substrb,substrc,substr2,substr4
7.获取下标:instr(a,b,c,d)从字符串a中第c位置开始找字符串b,出现的第d次获取这个下标
他的兄弟:
SELECT INSTR('无言独上西楼','上') FROM dual; --4
SELECT INSTRB('无言独上西楼','上') FROM dual; --7 汉字占位多
SELECT INSTRC('无言独上西楼','上') FROM dual; --4
SELECT INSTR2('无言独上西楼','上') FROM dual; --4
SELECT INSTR4('无言独上西楼','上') FROM dual; --4
8.常用类型转换函数:to_char(),to_date(),to_number()
SELECT to_char(SYSDATE,'yyyymmdd') ,to_date('20150304','yyyymmdd'),to_number('00002001') FROM dual
--20160403 2015/3/4 2001
9.时间函数相关:
sysdate 系统当前时间
yyyy mm dd hh mi ss/yyyy mm dd hh24 mi ss 年月日时分秒
ssss 午夜后的秒
SELECT to_char(SYSDATE,'yyyy'),to_char(SYSDATE,'yyy'),to_char(SYSDATE,'yy'),to_char(SYSDATE,'y') FROM dual 2015 015 15 5

Q 季度
ww 一年中的第几周
w 一月中的第几周
ddd 一年中的第几天
dd 一月中的第几天
d 一周中的第几天
CC--世纪

last_day(A):获取时间A对应月份的最后一天,时分秒不变
next_day(A,3):A本周的下一周的第三天,周日为第一天
add_months(A,1):在时间A的基础上偏移一个月
months_between(A,B):两个时间的月份差

10.最小值,最大值
min(A):字段A中的最小值
max(A):字段A中的最大值

LEAST(a,b,c....):取参数中最小值
GREATEST(a,b,c....):取参数中最大值

11.空值函数
空 null 和‘’这里有说null是空,‘’是长度为0的字符串(占位),其实我感觉数据库对于‘’的处理就是当null处理的,‘’中间是放字符串的,但一个字符串插入到date类型中就会报

错,如果是个空字符串(‘’)就能正常插入,而且符合 is null 条件,所以我感觉这里讨论他们的区别是没意义的,这里只针对oracle
非空 is not null ,length(A)>0 .......
注:length(A)=0 不能作为空的判断条件 length(null) 是空 除了处理空函数其他函数同理,数学运算空加减乘除任何数为空

NVL(a,b):如果a为空则取b,不为空取a
NVL2(a,b,c):如果a为空取c,不为空取b
nullif(a,b):a=b 返回空,不等返回a

12.数学函数
abs(a):a的绝对值
power(a,b):a的b次方
sqrt(a):a的平方根
mode(a,b)a除b的余数
13.统计函数
count(A)计数
sum(a)求和
avg(A)平均数
sign(A)A小于0为-1,等于0为0,大于0为1

GROUP BY A :按A值分组
HAVING count(1)>2 :进行分组统计后的条件筛选,比如按家庭分组,每家养猪超过2只 的展示出来

13.查询交并差集
并集
union 和union all 前面踢重,后面全展示,不踢重
select a from t1
union
select b from t2
交集
intersect
写法同上
差集 :第一个查询中不同于第二个查询结果的数据
写法同上

14.模糊查询 :like
%:字符串,长度任意包括0
_:一个字符

如:like ‘%aa%bb__cc%’ 按顺序包含aabbcc且bb和cc间必有2个字符的字符

15.decode(a,b,c,d,e....,g,h,i):如果a等于b取c,否则如果等于d取e..以此类推..
如果最后一个和倒数第二个是因果关系(否则如果等于h取i)则除了括号中列举外的就取空,decode(1,2,3)=null
如果倒数第二个和倒数第三个是因果关系则除了前面指定的外取最后一个,decode(1,2,3,4)=4

16.字符与十进制数转换函数

SELECT ASCII('A'),CHR(65) FROM dual --65 A

17.替换 replace
create or replace view v_test 创建一个名叫v_test的视图,如果已存在将之替换
函数:select replace(a,b,c) 将字符串a中包含字符串b的部分替换为字符串c

20.将一条记录多条展示
如 有表t_test_dept
deptno name
001 张三,李四,王五
拆分后t_test_dept
deptno name
001 张三
001 李四
001 王五

WITH temp AS
(SELECT dept_no,uname||',' AS uname,(LENGTH(uname)-LENGTH(replace(uname,',')))+1 AS run_times
FROM t_test_dept)
SELECT a.dept_no,regexp_substr(a.uname,'[^,]+',1,b.column_value) VALUE
FROM temp a,
TABLE(CAST(MULTISET (SELECT ROWNUM rn
FROM dual
CONNECT BY Rownum<=a.run_times) AS sys.odcivarchar2list)) b

----------------------
WITH temp AS:相当于创建个临时表再将数据进行分析处理
regexp_substr:通过匹配的正则动态截取字符串
table:这里将集合当做表
cast:把结果集处理为一个集合
multiset:有了它查询结果返回为多行,否则为一行
connect by:指定层级父子行关系
as sys.odcivarchar2list: 相当于当做这种结果集

21.将多条记录合并展示 wm_concat

deptno name
001 张三
001 李四
001 王五
合并后
deptno name
001 张三;李四;王五

SELECT a.dept_no,REPLACE(replace(wm_concat(a.uname),',',';'),',',';')
FROM T_TEST_DEPT a
GROUP BY a.dept_no

oracle常用函数及关键字笔记的更多相关文章

  1. Oracle常用函数

    前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...

  2. oracle常用函数总结(二)

    之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...

  3. Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数

    首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE) ...

  4. oracle常用函数总结

    Oracle常用函数总结 ---oracle常用函数-----一.数值型常用函数----取整数--select floor(10.1) from dual;--将n四舍五入,保留小数点后m位(默认情况 ...

  5. oracle常用函数整理

    oracle常用函数整理    1.绝对值.取余.判断数值正负函数    绝对值:ABS(n)        示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...

  6. oracle常用函数积累

    --oracle常用函数积累-- --1.字符串长度:LENGTH ,语法: CONCAT(string) --示例 select LENGTH('AA_BB') from dual;--结果:5 - ...

  7. ORACLE常用函数的使用方法

    ORACLE常用函数的使用方法 1. 字符串函数 (1) length(); 获取字符长度SELECT LENGTH('中国') FROM PLATFORM_METAINFO_TABLES WHERE ...

  8. SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等

    SQL组成 DML数据操作语言 DCL数据控制语言 DQL数据查询语言 DDL数据定义语言 查询基础语法 记录筛选 where 子句 记录筛选 where 子句 实例练习 实例练习 Select语句中 ...

  9. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

随机推荐

  1. iOS下KVO使用过程中的陷阱 (转发)

    iOS下KVO使用过程中的陷阱   KVO,全称为Key-Value Observing,是iOS中的一种设计模式,用于检测对象的某些属性的实时变化情况并作出响应.网上广为流传普及的一个例子是利用KV ...

  2. 用border或者div制作三角形等图形

    一般情况下, 我们设置盒子的宽高度, 及上下左右边框, 具体代码如下: 通过上述代码,div的具体样式如下: 现在在上面基础上, 我们把div的宽高度都设为0时, 现在我们再次查看效果,如下图: 这时 ...

  3. 【小练习05】HTML+CSS--淘宝商铺小页面

    要求实现如下效果图: 代码演示 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...

  4. 10分钟弄懂javascript数组

    建议阅读时间 : 10分钟 主要内容:javascript数组的基本概念.属性.方法 新建数组: var arr01 = ["a","b","c&qu ...

  5. React-Native集成到已有项目中的总结

    安装Python 从官网下载并安装python 2.7.x(3.x版本不行) 安装node.js 从官网下载node.js的官方V6.X.X版本或更高版本.安装完成后检测是否安装成功:node -v ...

  6. sock

    头和尾基本用来做校验, 不是拿来做边界的. 头+类型+长度+数据+尾, 这种结构就可以. 拆包就是: 检验头, 然后拆出类型+长度, 然后根据长度拆数据, 然后检验尾巴.

  7. 扔掉log4j、log4j2,自己动手实现一个多功能日志记录框架,包含文件,数据库日志写入,实测5W+/秒日志文件写入,2W+/秒数据库日志写入,虽然它现在还没有logback那么强大

    讲到log4j,现在国外基本是没有开发者用这个框架了,原因大致有几点,1.功能太少:2.效率低下:3.线程锁bug等等等各种莫名其妙的bug一直都没解决. 其实最重要的是log4j的作者自己也放弃了l ...

  8. read命令读取用户输入

    read命令用于从终端或文件中读取用户输入,它读取整行输入,如果没有指定名称,读取的行被赋值给内部变量REPLY.read命令常用选项:-a,-p,-s,-t,-n 1.REPLY变量 $readhe ...

  9. php中常用的处理字符串的函数

    1.将字符串转换为数组的函数:str_split() array str_split ( string $string [, int $split_length = 1 ] ) string:输入字符 ...

  10. ecshop广告分析

    ecshop模板中,显示广告的库项目是ad_position.lbi,其内容只有一个语句: {insert name='ads' id=$ads_id num=$ads_num} smarty的ins ...