1.ASCII 2

2.CHR. 2

3.CONCAT. 2

4.INITCAP. 2

5.INSTR(C1,C2,I,J) 3

6.LENGTH *. 3

7.LOWER. 3

8.UPPER. 3

9.RPAD和LPAD.. 3

10.LTRIM和RTRIM *. 4

11.SUBSTR(string,start,count) *. 4

12.REPLACE('string','s1','s2') 4

13. TRIM('s' FROM 'string') 4

14. ABS. 5

15. CEIL *. 5

16. FLOOR *. 5

17. MOD(n1,n2) *. 5

18. ROUND *. 5

19.SIGN *. 6

20.TRUNC *. 6

21.ADD_MONTHS *. 6

22. LAST_DAY.. 6

23.NEXT_DAY(date,'day') 7

24.SYSDATE  **. 7

25. TO_CHAR(date,'format') **. 7

26. TO_DATE(string,'format') **. 7

27. TO_NUMBER *. 7

28. GREATEST *. 8

29. LEAST *. 8

30.UID.. 8

31.USER. 8

32.AVG(DISTINCT|ALL) *. 8

33.MAX(DISTINCT|ALL) *. 9

34.MIN(DISTINCT|ALL) *. 9

35.GROUP BY *. 9

36.HAVING *. 9

37. ORDER BY *. 10

38. Extract(date FROM datetime) 10

39. DECODE(expr,search1,result1[,search2,result2][,default]) 10

40.  NULLIF(expr1,expr2) 10

41.  NVL(expr1,expr2) 11

42. NVL2(expr1,expr2,expr3) 11

43.Translate(x,from_string,to_string) 11

Oracle中的常用函数

1.ASCII

返回与指定的字符对应的十进制数;

SQL> SELECT ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ')    space FROM dual;

A         A      ZERO     SPACE

--------- --------- --------- ---------

65        97        48        32

2.CHR

给出整数,返回对应的字符;

SQL> SELECT chr(54740) zhao,chr(65) chr65 FROM dual;

ZH C

-- -

赵 A

3.CONCAT

连接两个字符串;

SQL> SELECT concat('010-','88888888')||'转110'  电话 FROM dual;

电话

----------------

010-88888888转110

Ps: mysql中的concat函数可以连接多个字符,oracle使用concat只能连接两个,oracle使用||连接多个字符,例如,select '1'||'2'||'3' from dual, 而mysql中的||则是或的意思,返回值是0或者1

4.INITCAP

返回字符串并将字符串的第一个字母变为大写;

SQL> SELECT initcap('smith') upp FROM dual;

UPP

-----

Smith

5.INSTR(C1,C2,I,J)

在一个字符串中搜索指定的字符,返回发现指定的字符的位置;

C1    被搜索的字符串

C2    希望搜索的字符串

I     搜索的开始位置,默认为1

J     (第N次)出现的位置,默认为1

SQL> SELECT instr('oracle traning','ra',1,2) instring FROM dual;

INSTRING

--------------

9

6.LENGTH *

返回字符串的长度

SQL> SELECT      name,length(name)  FROM dual;

Name       length(name)

---------     -------------------

zhangsan        8

7.LOWER

返回字符串,并将所有的字符小写

SQL> SELECT lower('AaBbCcDd')AaBbCcDd FROM dual;

AABBCCDD

-----------------

aabbccdd

8.UPPER

返回字符串,并将所有的字符大写

SQL> SELECT upper('AaBbCcDd') upper FROM dual;

UPPER

--------------

AABBCCDD

9.RPAD和LPAD

RPAD  在列的右边粘贴字符

LPAD  在列的左边粘贴字符

SQL> SELECT lpad(rpad('gao',10,'*'),17,'*') FROM dual;

LPAD(RPAD('GAO',1

----------------------------

*******gao*******

不够字符则用*来填满

10.LTRIM和RTRIM *

LTRIM  删除左边出现的字符串

删除右边出现的字符串

SQL> SELECT ltrim(rtrim('   gao qian jing   ',' '),' ') FROM dual;

LTRIM(RTRIM('

----------------------

gao qian jing

11.SUBSTR(string,start,count) *

取子字符串,从start开始,取count个

SQL> SELECT substr('13088888888',3,8)  FROM  dual;

SUBSTR('

---------------

08888888

12.REPLACE('string','s1','s2')

string   希望被替换的字符或变量

s1       被替换的字符串

s2       要替换的字符串

SQL> SELECT replace('he love you','he','i') FROM dual;

REPLACE('H

-----------------

i love you

13. TRIM('s' FROM 'string')

LEADING   剪掉前面的字符

TRAILING  剪掉后面的字符

SQL> select trim('a' FROM 'a b 123') FROM dual;

TRIM('

------

b 123

14. ABS

返回指定值的绝对值

SQL> SELECT abs(100),abs(-100) FROM dual;

15. CEIL *

返回大于或等于给出数字的最小整数

SQL> SELECT ceil(3.1415927) FROM dual;

CEIL(3.1415927)

-------------------

4

16. FLOOR *

对给定的数字取整数

SQL> SELECT floor(2345.67) FROM dual;

FLOOR(2345.67)

----------------------

2345

17. MOD(n1,n2) *

返回一个n1除以n2的余数

SQL> SELECT mod(10,3),mod(3,3),mod(2,3) FROM dual;

MOD(10,3)  MOD(3,3)   MOD(2,3)

------------   -----------   ---------

1         0         2

18. ROUND *

按照指定的精度进行舍入

SQL>SELECT round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) FROM

dual;

ROUND(55.5)  ROUND(-55.4)   TRUNC(55.5)     TRUNC(-55.5)

-------------    ----------------     ---------------    -----------------

56          -55              55                  -55

19.SIGN *

取数字n的符号,大于0返回1,小于0返回-1,等于0返回0

SQL> SELECT sign(123),sign(-100),sign(0) FROM dual;

SIGN(123)  SIGN(-100)   SIGN(0)

-----------    ----------    ---------

1         -1         0

20.TRUNC *

按照指定的精度截取一个数

SQL> SELECT trunc(124.1666,-2) trunc1,trunc(124.16666,2) FROM dual;

TRUNC1     TRUNC(124.16666,2)

---------   --------------------------

100             124.16

21.ADD_MONTHS *

增加或减去月份

SQL> SELECT

to_char(add_months(to_date('200712','yyyymm'),2),'yyyymm') FROM  dual;

TO_CHA

----------

200802

SQL> SELECT

to_char(add_months(to_date('200712','yyyymm'),-2),'yyyymm') FROM   dual;

TO_CHA

----------

200710

22. LAST_DAY

返回日期的最后一天

SQL> SELECT last_day(to_date('2007-05-12','yyyy-mm-dd')) FROM dual;

LAST_DAY(T

----------

31-5月 -07

SQL> SELECT last_day(sysdate) FROM dual;

LAST_DAY(S

----------

31-8月 -07

23.NEXT_DAY(date,'day')

给出日期date和星期x之后计算下一个星期的日期

SQL> SELECT next_day('08-8月-2007','星期五') next_day FROM dual;

NEXT_DAY

----------

10-8月 -07

24.SYSDATE  **

用来得到系统的当前日期

SQL> SELECT to_char(sysdate,'dd-mm-yyyy day') FROM dual;

TO_CHAR(SYSDATE,'

-----------------------

08-08-2007 星期三

25. TO_CHAR(date,'format') **

SQL> SELECT to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') FROM dual;

TO_CHAR(SYSDATE,'YY

--------------------------

2004/05/09 21:14:41

26. TO_DATE(string,'format') **

将字符串转化为ORACLE中的一个日期

27. TO_NUMBER *

将给出的字符转换为数字

SQL> SELECT to_number('1999') year FROM dual;

YEAR

----------------

1999

28. GREATEST *

返回一组表达式中的最大值,即比较字符的编码大小.

SQL> SELECT greatest('AA','AB','AC') FROM dual;

GR

----

AC

SQL> SELECT greatest('啊','安','天') FROM dual;

GR

----

29. LEAST *

返回一组表达式中的最小值

SQL> SELECT least('啊','安','天') FROM dual;

LE

------

30.UID

返回标识当前用户的唯一整数

SQL> show user

SQL> SELECT username,user_id FROM dba_users where user_id=uid;

USERNAME                         USER_ID

------------------------------         ---------

SCOTT                                   25

31.USER

返回当前用户的名字

SQL> SELECT user FROM  dual;

USER

-----------

SCOTT

32.AVG(DISTINCT|ALL) *

all表示对所有的值求平均值,distinct只对不同的值求平均值

SQL> SELECT avg(distinct sal) FROM person;

AVG(DISTINCTSAL)

-----------------------

3333.33

SQL> SELECT avg(all sal) FROM gao.table3;

AVG(ALLSAL)

------------------

2592.59

33.MAX(DISTINCT|ALL) *

求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次

SQL> SELECT max(distinct sal) FROM scott.emp;

MAX(DISTINCTSAL)

--------------------

5000

34.MIN(DISTINCT|ALL) *

求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次

SQL> SELECT min(all sal) FROM person;

MIN(ALLSAL)

----------------

1111.11

35.GROUP BY *

主要用来对一组数进行统计

SQL> SELECT deptno,count(*),sum(sal) FROM scott.emp group by deptno;

DEPTNO  COUNT(*)  SUM(SAL)

--------- --------- ---------

10         3      8750

20         5     10875

30         6      9400

36.HAVING *

对分组统计再加限制条件

SQL> SELECT deptno,count(*),sum(sal) FROM scott.emp group by deptno

having count(*)>=5;

DEPTNO  COUNT(*)  SUM(SAL)

---------     ---------    ---------

20         5     10875

30         6      9400

SQL> SELECT deptno,count(*),sum(sal) FROM scott.emp having

count(*)>=5 group by deptno ;

DEPTNO  COUNT(*)  SUM(SAL)

---------   ---------   ---------

20         5     10875

30         6      9400

37. ORDER BY *

用于对查询到的结果进行排序输出

SQL> SELECT deptno,ename,sal FROM scott.emp order by deptno,sal desc;

38. Extract(date FROM datetime)

从日期时间中取得特定数据(例如取出月、年等)

SELECT extract(YEAR FROM sysdate)   FROM dual

SELECT extract(MONTH FROM sysdate) FROM dual

SELECT extract(DAY FROM sysdate)    FROM dual

SELECT extract(HOUR FROM localtimestamp) FROM dual

39. DECODE(expr,search1,result1[,search2,result2][,default])

SQL>SELECT deptno,DECODE(deptno,'10','ABC','20','DEF','30','AAA',’NO’)

FROM dept;

DEPTNO   DEC

----------  -------

10     ABC

20     DEF

23

24

25

30     AAA

40.  NULLIF(expr1,expr2)

如果expr1和expr2的值相等,则返回NULL,否则返回expr1

41.  NVL(expr1,expr2)

如果expr1是null,则返回expr2; 如果expr1不为null,则返回expr1

42. NVL2(expr1,expr2,expr3)

如果expr1不是null,则返回expr2;如果expr1是null,则返回expr3;参数expr1可以是任意数据类型,而expr2和expr3可以是除Long之外的任何数据类型

43.Translate(x,from_string,to_string)

SELECT translate('a1b0c2d3','3210','pqxy') from dual;

从'a1b0c2d3'中找在‘3210’中出现过的字符,找到后用‘pqxy’相应位置的字符替换

TRANSLAT

--------

axbycqdp

实际使用中最好使第二个参数 和 第三个参数的位数一样

1 用 x 代替

0 用 y 代替

2用  q 代替

3 用 p 代替

oracle 常用函数2的更多相关文章

  1. Oracle常用函数

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

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

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

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

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

  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中的一些常用函 ...

  10. 十、oracle 常用函数

    一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char) ...

随机推荐

  1. Java虚拟机深入研究

    文章来自:http://www.qqread.com/java/w872354600.html Java技术与Java虚拟机  说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一 ...

  2. 文本转换利器之Pandoc

    Pandoc 简介 如果你需要在不同的文件格式之间相互转换,多半听说或使用过文档转换的瑞士军刀--Pandoc.事实上,不仅人类知道 Pandoc,最近很火的人工智能 ChatGPT 也知道「将 Ma ...

  3. Golang网络模型netpoll源码解析

    0.引言 在学习完了Socket编程的基础知识.Linux系统提供的I/O多路复用的实现以及Golang的GMP调度模型之后,我们进而学习Golang的网络模型--netpoll.本文将从为什么需要使 ...

  4. ARTHAS 使用

    1.概述 ARTHAS是阿里巴巴 出品的一款java监控工具,本文介绍以下他的基本使用方法. 2.基本操作 2.1 启动 java -jar arthas-boot.jar 2.2 基础命令 命令 说 ...

  5. pg_index

    在pg11之后,引入了indnkeyatts字段,根据官方文档解释其作用:The number of key columns in the index, not counting any includ ...

  6. axmapcontrol的一点发现

    最近在做一个功能,从主窗体弹出子窗体(包含地图控件)显示地图.不过初始化的过程比较耗时(主要是连接远程数据),所以想改变鼠标样式为等待.本来是比较简单的思路 A:主窗体,B:子窗体 a.cursor= ...

  7. VTK 正交投影 透视投影

    VTK默认透视投影(近大远小),如果想改成正交投影(平行投影,远近一样): 1.调用vtkCamera的ParallelProjectionOn函数开启 2.通过vtkCamera的SetParall ...

  8. Spring 事务管理 基于配置文件

    事务概念: 原子性:要么都成功,有一个失败都失败 一致性:总量不变(A有100元,B有100元,总量是200元.A把100元转给B,B就有了200元,总量还是200元) 隔离性:两人操作同一条数据,不 ...

  9. 【XML】学习笔记第三章-namesapce

    目录 命名空间 命名空间概述 命名空间语法 命名空间的声明 命名空间作用域 对命名空间的使用 元素对命名空间的使用 属性对命名空间的使用 DTD对命名空间的支持 命名空间 命名空间概述 标记中出现了同 ...

  10. 【Javaweb】【Js】【Servlet】Js与Servlet交互 - Js请求Servlet与响应Servlet

    [原生JS][POST]请求和响应(一) 虽然效率有点低,但是作为初学者,可以先看看这个,然后再去看后面用Json处理. XMLHttpRequest介绍 XMLHttpRequest 对象用于在后台 ...