oracle 常用函数2
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的更多相关文章
- Oracle常用函数
前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...
- Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数
首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE) ...
- oracle常用函数总结(二)
之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...
- oracle常用函数总结
Oracle常用函数总结 ---oracle常用函数-----一.数值型常用函数----取整数--select floor(10.1) from dual;--将n四舍五入,保留小数点后m位(默认情况 ...
- oracle常用函数整理
oracle常用函数整理 1.绝对值.取余.判断数值正负函数 绝对值:ABS(n) 示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...
- oracle常用函数积累
--oracle常用函数积累-- --1.字符串长度:LENGTH ,语法: CONCAT(string) --示例 select LENGTH('AA_BB') from dual;--结果:5 - ...
- ORACLE常用函数的使用方法
ORACLE常用函数的使用方法 1. 字符串函数 (1) length(); 获取字符长度SELECT LENGTH('中国') FROM PLATFORM_METAINFO_TABLES WHERE ...
- SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等
SQL组成 DML数据操作语言 DCL数据控制语言 DQL数据查询语言 DDL数据定义语言 查询基础语法 记录筛选 where 子句 记录筛选 where 子句 实例练习 实例练习 Select语句中 ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
- 十、oracle 常用函数
一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char) ...
随机推荐
- 通过双 key 来解决缓存并发问题
我们在使用缓存的时候,不管Redis或者是Memcached,基本上都会遇到以下3个问题:缓存穿透.缓存并发.缓存集中失效.这篇文章主要针对[缓存并发]问题展开讨论,并给出具体的解决方案. 1.什么是 ...
- SQL Server数据表模糊查询(like用法)详解
在SQL Server Management Studio (SSMS) 中,进行模糊查询主要是通过使用like操作符来实现的.like操作符用于在where语句中搜索列中具有指定模式的数据.我们在简 ...
- Java框架 —— Spring
Spring 简介 一般来说,Spring指的是SpringFramework,它提供了很多功能,例如:控制反转(IOC).依赖注入 (DI).切面编程(AOP).事务管理(TX) 主要 jar ...
- idea配置gradle国内镜像源
项目文件中找到build.gradle文件,修改其中的buildscript和allprojects地址: buildscript { repositories { maven{ url 'http: ...
- k3s 轻量级Kubernetes 安装实例
k3s是由Rancher开发的轻量级Kubernetes,支持嵌入式系统,边缘计算节点等 易于安装,所有组件都在一个小于100MB的二进制文件中,占用资源低 1.1.简单安装试例 curl -sfL ...
- 在 d2js 使用多种数据源如spring数据源
不少人误以为 d2js 只能通过 database.js 指定一个数据库,是一个单数据库方案.实际上 d2js 也可以使用多个数据库. 在 WEB-INF/jslib/d2js/base.js 的末尾 ...
- 2024年1月Java项目开发指南14:关于post中的body和param以及java中的@RequestBody和@RequestParam
在HTTP请求中,POST方法通常用于向服务器发送数据,这些数据可以在请求的body中,也可以在URL的param中.不过,这两者的使用方式和适用场景是不同的. Body:在POST请求中,body主 ...
- Ubuntu中文件夹建立软链接方法
1:预备知识 -s 是代号(symbolic)的意思. 这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化:第二,ln的链接又软链 ...
- sudo: source: command not found
在Ubuntu上配置了jdk(非root用户),要使它的配置生效,在执行 sudo source /etc/profile 的时候提示 ,sudo: source: command not found ...
- Qt/C++编写跨平台的推流工具(支持win/linux/mac/嵌入式linux/安卓等)
一.前言 跨平台的推流工具当属OBS最牛逼,功能也是最强大的,唯一的遗憾就是多路推流需要用到插件,而且CPU占用比较高,默认OBS的规则是将对应画布中的视频画面和设定的音频一起重新编码再推流,意味着肯 ...