《Oracle系列》Oracle常用函数

编程入门 行业动态 更新时间:2024-10-21 18:33:55

《Oracle系列》Oracle常用<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数"/>

《Oracle系列》Oracle常用函数

Oracle常用函数

1.ASCALL

返回与对应字符串对应的十进制数

select ascaii(A),ascaii(a),ascaii(0),ascaii() from dual;65 97 48 32

2.CHR

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

select chr(54740),chr(65) from dual赵 A

3.CONCAT

连接字符串

select concat(010-,8888) from dual010-8888

4.INITCAP

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

select initcap(smith) from dual;Smith

5.INSTR

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

select instr(oracle traning,ra,1,2) from dual;9

6.LENGTH

返回字符串的长度

select name,length(name),sal,length(to_char(sal)) from text;周向宇 3 999.9 5

7.LOWER

将所有字符转成小写

select lower(AbcD) from dual;abcd

8.UPPER

将所有字符转成大写

select upper(AbcD) from dual;ABCD

9.SUBSTR

取字符串从第几个开始取,取几个

select substr(abcdefg,1,2) from dual;cdefg

10.REPLACE

替换字符串中的指定字符

select replace(abcd efd , ef, A) from dualabcd Ad

11.TRIM

12.ABS

取绝对值

select abs(-100) from dual10

13.CEIL

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

selct ceil(2.232) from dual;3

14.FLOOR

对于给定数字给整数

select floor(2.232) from dual;2

15.SQRT

开根号

select sort(64) from dual;8

16.ADD_MONTHS

增加或减去月份

-- 加上月份
select to_char(add_month(to_date(2021-10-21,yyyy-mm),2),yyyy-mm ) from dual;2021-12--减去月份
select to_char(add_month(to_date(2021-10-21,yyyy-mm),2),yyyy-mm) from dual;2021-10

17.SYSDATE

sysdate和current_date效果一样

select sysdate from dual;
select current_date from dual;

18.LAST_DAY

取当月的最后一天

SELECT LAST_DAY(SYSDATE) FROM dual; 2021-10-31 12:13:43

19.MONTHS_BETWEEN

取两个日期时间段之间有几个月

select months_between(TO_DATE('2021-10-21','yyyy-mm-dd') ,TO_DATE('2021-01-21','yyyy-mm-dd'))     months 
from dual;

20.NEXT_DAY

设置当前时间,以及星期一,自动求出当前日期的下一个星期一

SELECT NEXT_DAY(SYSDATE ,'星期一') FROM dual; 2021-10-25 12:38:55

21.HEXTORAW

将一个十六机制构成的字符串转换为二进制

22.RAWTOHEXT

将一个二进制构成的字符串转换为十六进制

23.ROWIDTOCHAR

将ROWID数据类型转为字符类型

24.TO_CHAR

将时间按照指定格式转为char类型

SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') FROM dual;2021-10-21 13:06:32

25.TO_DATE

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

select to_date(2021-10-21,yyyy-mm) from dual;

26.TO_NUMBER

转数字

select to_number(2021) from dual;

27.GREATEST

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

select greatest(早,安,周) from dual;

28.LEAST

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

select least(早,安,周) from dual;

29.USER

返回当前数据库的一个用户

SELECT USER FROM dual;

30.MAX(DISTINCT|ALL)

求最大值,ALL表示对所有值求最大值,DISTINCT对相同值去重

select max(distinct sal) from zxy;

31.MIN(DISTINCT|ALL)

求最小值,ALL表示对所有值求最小值,DISTINCT对相同值去重

select min(distinct sal) from zxy;

32.GROUP BY

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

select deptno,count(*),sum(sal) 
from zxy 
group by deptno;

33.HAVING

对分组统计加限制条件

select deptno,count(*),sum(sal) 
from zxy 
group by deptno
having count(*) >= 5;

34.ORDER BY

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

select deptno,ename,sal 
from zxy
order by deptno,sal desc

35.CASE…WHEN…END

-- 方法一
select (case when DUMMY='X' then 0 else 1 end) as flag from dual;
-- 方法二
select (case col when 'a' then 1 when 'b' then 2 else 0 end) from dual;

36.NVL

NVL(expr1,expr2)
NVL(expr1,expr2)-> expr1为NULL,返回expr2;否则返回expr1.注意两者的类型要一致。
NVL2(expr1,expr2,expr3) -> expr1不为NULL,返回expr2.为NULL,返回expr3;expr2和expr3类型不同的情况下,expr3会转换为expr2的类型
NULLIF(expr1,expr2) -> 相等返回NULL,不等返回expr1

37.分析函数

row_number() over(partition by ... order by ...)
rank() over(partition by ... order by ...)
dense_rank() over(partition by ... order by ...)
count() over(partition by ... order by ...)
max() over(partition by ... order by ...)
min() over(partition by ... order by ...)
sum() over(partition by ... order by ...)
avg() over(partition by ... order by ...)
first_value() over(partition by ... order by ...)
last_value() over(partition by ... order by ...)
lag() over(partition by ... order by ...)
lead() over(partition by ... order by ...)over(order by salary) 安装salary排序进行累计,order by是一个默认的开窗函数
over(partition by deptno) 按照部门分区
over(order by salary range between 50 preceding and 150 following)
--每行对应的数据窗口是之前行幅度值不超过50,之后行幅度值不超过150
over(order by salary rows between 50 preceding and 150 following)
--每行对应的数据窗口是之前50行,之后150行
over(order by salary rows between unbounded preceding and unbounded following)

更多推荐

《Oracle系列》Oracle常用函数

本文发布于:2024-02-26 02:25:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1701054.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   常用   系列   Oracle

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!