Oracle函数大全

合集下载

ORACLE_分析函数大全

ORACLE_分析函数大全

ORACLE_分析函数大全Oracle分析函数是一种高级SQL函数,它可以在查询中实现一系列复杂的分析操作。

这些函数可以帮助我们在数据库中执行各种数据分析和报表生成任务。

本文将介绍Oracle数据库中的一些常用分析函数。

1.ROW_NUMBER函数:该函数为查询结果中的每一行分配一个唯一的数字。

可以用它对结果进行排序或分组。

例如,可以使用ROW_NUMBER函数在结果集中为每个员工计算唯一的编号。

2.RANK和DENSE_RANK函数:这两个函数用于计算结果集中每个行的排名。

RANK函数返回相同值的行具有相同的排名,并且下一个排名值将被跳过。

DENSE_RANK函数类似,但是下一个排名值不会被跳过。

G和LEAD函数:LAG函数返回结果集中指定列的前一个(上一个)行的值,而LEAD函数返回后一个(下一个)行的值。

这些函数通常用于计算增长率或发现趋势。

4.FIRST和LAST函数:这两个函数用于返回结果集中分组的第一个和最后一个行的值。

可以与GROUPBY子句一起使用。

5.CUME_DIST函数:该函数用于计算给定值的累积分布。

它返回值的累积分布在结果集中的位置(百分比)。

6.PERCENT_RANK函数:该函数用于计算结果集中每个行的百分位数排名。

它返回值的百分位数排名(0到1之间的小数)。

7. NTILE函数:该函数用于将结果集分成指定数量的桶(Bucket),并为每个行分配一个桶号。

通常用于将数据分组为更小的块。

8.LISTAGG函数:该函数将指定列的值连接成一个字符串,并使用指定的分隔符分隔每个值。

可以用它将多个值合并在一起形成一个字符串。

9.AVG、SUM、COUNT和MAX/MIN函数:这些是常见的聚合函数,可以在分析函数中使用。

它们用于计算结果集中的平均值、总和、计数和最大/最小值。

以上只是Oracle数据库中的一些常用分析函数。

还有其他一些分析函数,如PERCENTILE_CONT、PERCENTILE_DISC等可以用于更高级的分析计算。

oracle数学函数

oracle数学函数

oracle数学函数Oracle数据库中提供了多种数学函数,用于处理数值数据。

这些函数可以用于执行各种计算,包括取整、四舍五入、求平方根、幂运算、三角函数等等。

以下将介绍一些常用的Oracle数学函数:1.ABS(x)函数:返回给定数值x的绝对值。

如ABS(-5)的结果为54.CEIL(x)函数:返回不小于给定数值x的最小整数。

如CEIL(3.6)的结果为45.FLOOR(x)函数:返回不大于给定数值x的最大整数。

如FLOOR(3.6)的结果为36.MOD(x,y)函数:返回给定数值x除以y的余数。

如MOD(10,3)的结果为17.POWER(x,y)函数:返回给定数值x的y次幂。

如POWER(2,3)的结果为88.SQRT(x)函数:返回给定数值x的平方根。

如SQRT(9)的结果为311.LOG(x,y)函数:返回给定数值x的以y为底的对数。

如LOG(100,10)的结果为212.SIN(x)函数:返回给定角度x的正弦值。

其中角度的单位为弧度。

如SIN(PI/2)的结果为113.COS(x)函数:返回给定角度x的余弦值。

其中角度的单位为弧度。

如COS(PI/3)的结果为0.514.TAN(x)函数:返回给定角度x的正切值。

其中角度的单位为弧度。

如TAN(PI/4)的结果为115.ASIN(x)函数:返回给定数值x的反正弦值(弧度)。

如ASIN(1)的结果为PI/216.ACOS(x)函数:返回给定数值x的反余弦值(弧度)。

如ACOS(0.5)的结果为PI/317.ATAN(x)函数:返回给定数值x的反正切值(弧度)。

如ATAN(1)的结果为PI/418.ATAN2(y,x)函数:返回给定直角坐标系中点(x,y)的极坐标系中点的角度值(弧度)。

如ATAN2(1,1)的结果为PI/4以上只是一些常用的Oracle数学函数,Oracle还提供了更多的数学函数,如指数函数、对数函数、双曲函数等等。

可以根据具体需求选择适合的函数进行数值计算。

oralce函数

oralce函数

oralce函数Oracle是一种关系数据库管理系统,它使用了一种名为Oracle数据库的数据库管理系统。

Oracle是一种强大的工具,提供了许多内置函数,可以用于在数据库中进行各种操作。

以下是一些常用的Oracle函数。

1.聚合函数-AVG:计算指定列的平均值。

-COUNT:计算指定列中非空数据的数量。

-SUM:计算指定列的总和。

-MAX:找到指定列的最大值。

-MIN:找到指定列的最小值。

2.字符串函数-CONCAT:将两个字符串连接成一个字符串。

-LOWER:将字符串转换为小写。

-UPPER:将字符串转换为大写。

-LENGTH:计算字符串的长度。

-SUBSTR:返回一个字符串的子字符串。

3.数值函数-ROUND:将一个数值四舍五入到指定的小数位数。

-CEIL:向上取整,返回不小于指定数值的最小整数。

-FLOOR:向下取整,返回不大于指定数值的最大整数。

-ABS:返回指定数值的绝对值。

-MOD:返回两个数值的余数。

4.日期和时间函数-SYSDATE:返回当前日期和时间。

-ADD_MONTHS:在指定日期上增加指定的月份。

-TRUNC:截断日期或时间到指定的精度。

-MONTHS_BETWEEN:计算两个日期之间的月数差。

-TO_CHAR:将日期转换为指定格式的字符串。

5.条件函数-DECODE:根据条件返回不同的值。

-CASE:根据条件执行不同的操作。

-NVL:如果给定的表达式为NULL,则将其替换为指定的值。

-NULLIF:如果两个表达式的值相等,则返回NULL。

6.分析函数-ROW_NUMBER:为每一行分配一个唯一的数字。

-RANK:为每一行分配一个排名,如果有并列的值,则排名相同。

-DENSE_RANK:为每一行分配一个排名,如果有并列的值,则排名可以重复。

-LEAD:返回指定行后的值。

-LAG:返回指定行前的值。

上述函数只是Oracle提供的一小部分功能,Oracle还提供了许多其他有用的函数。

Oracle函数大全

Oracle函数大全
1
31.SIGH
蛮Ρタ┒
SQL> select sin(20),sinh(20) from dual;
SIN(20) SINH(20)
--------- ---------
.91294525 242582598
32.SQRT
计n
SQL> select sqrt(64),sqrt(10) from dual;
-- -
化 A
3.CONCAT
硈钡ㄢ﹃;
SQL> select concat('010-','88888888')||'锣23' 蔼爱膙筿杠 from dual;
蔼爱膙筿杠
----------------
010-88888888锣23
4.INITCAP
﹃盢﹃材ダ跑糶;
LOG(2,1) LOG(2,4)
--------- ---------
0 2
26.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)
CEIL(3.1415927)
---------------
4
20.COS
倒﹚计┒
SQL> select cos(-3.1415927) from dual;
COS(-3.1415927)
---------------
-1
21.COSH
计は┒
SQL> select cosh(20) from dual;

oracle常用聚集函数

oracle常用聚集函数

oracle常用聚集函数Oracle是数据库管理系统中的一种,支持众多的聚集函数,这些聚集函数能够按照特定规则将行组合为单个结果值。

以下是Oracle中比较常用的聚集函数。

1. AVG函数:用于计算数值列的平均值。

语法:AVG(column_name)2. COUNT函数:用于计算指定列中的行数。

可以使用COUNT(*)来计算表中的所有行数。

语法:COUNT(column_name)3. MAX函数:用于查找数值列中的最大值。

语法:MAX(column_name)4. MIN函数:用于查找数值列中的最小值。

语法:MIN(column_name)5. SUM函数:用于计算数值列的总和。

语法:SUM(column_name)其中,AVG、SUM、MAX和MIN等函数可以用于数字列,而COUNT也可以用于任何列(字符串、数字等)。

除了以上常用的聚集函数外,Oracle还支持其他聚集函数,如STDDEV、VARIANCE等。

STDDEV函数返回给定数列的标准差,VARIANCE函数返回给定数列的方差。

需要注意的是,在使用聚集函数时,必须指定分组条件。

使用GROUP BY关键字指定分组条件,以便使聚集函数仅作用于指定的数据子集上。

例如:SELECT department, AVG(salary)FROM employeesGROUP BY department;以上代码将返回每个部门的平均工资,因为使用了GROUP BY部门。

总之,Oracle中的聚集函数可以大大简化复杂查询的编写,帮助开发者更高效地进行数据分析和处理。

以上介绍的聚集函数是Oracle常用聚集函数中的一部分,也是开发者在使用Oracle进行数据查询时需要了解的重要知识点。

oracle 时间比较函数

oracle 时间比较函数

oracle 时间比较函数Oracle 时间比较函数Oracle数据库是一种关系型数据库管理系统,它支持SQL语言。

在Oracle数据库中,时间比较函数被广泛使用,用于比较和操作日期和时间数据。

这些函数提供了一种简便的方式来处理时间数据,并允许我们在查询中进行各种时间操作。

在Oracle数据库中,有多个时间比较函数可供使用。

下面将介绍其中一些常用的函数。

1. SYSDATE函数SYSDATE函数返回当前日期和时间。

它返回一个日期类型的值,可以用于比较、计算和显示当前日期和时间。

以下是SYSDATE函数的示例用法:SELECT SYSDATE FROM dual;2. TO_DATE函数TO_DATE函数用于将字符串转换为日期类型。

它接受两个参数,第一个参数是要转换的字符串,第二个参数是指定输入字符串的格式。

以下是TO_DATE函数的示例用法:SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD') FROM dual;3. ADD_MONTHS函数ADD_MONTHS函数用于在给定日期上添加指定的月份。

它接受两个参数,第一个参数是要添加的日期,第二个参数是要添加的月份数。

以下是ADD_MONTHS函数的示例用法:SELECT ADD_MONTHS(SYSDATE, 3) FROM dual;4. MONTHS_BETWEEN函数MONTHS_BETWEEN函数用于计算两个日期之间的月份数。

它接受两个参数,第一个参数是较大的日期,第二个参数是较小的日期。

以下是MONTHS_BETWEEN函数的示例用法:SELECT MONTHS_BETWEEN(TO_DATE('2022-01-01', 'YYYY-MM-DD'), SYSDATE) FROM dual;5. NEXT_DAY函数NEXT_DAY函数用于找到给定日期之后的下一个指定的星期几。

oracle常用sql函数

oracle常用sql函数

oracle常用sql函数Oracle是一款非常优秀的数据库管理系统,它提供了很多强大的功能与工具,其中最基本而实用的功能就是SQL函数了。

下面我们将重点介绍一些常用的Oracle SQL函数,帮助读者更好地了解和掌握这些常用的函数,从而更加有效地处理和管理数据。

一、数值型函数1. ABS()函数:用于计算数值的绝对值,比如ABS(-10)会返回10。

2. CEIL()函数:用于向上取整,比如CEIL(3.14)会返回4。

3. FLOOR()函数:用于向下取整,比如FLOOR(3.14)会返回3。

4. MOD()函数:用于求模,比如MOD(12,5)会返回2。

5. ROUND()函数:用于四舍五入,比如ROUND(3.49)会返回3,而ROUND(3.51)会返回4。

二、字符型函数1. CONCAT()函数:用于连接两个字符串,比如CONCAT('hello','world')会返回helloworld。

2. SUBSTR()函数:用于截取字符串,比如SUBSTR('hello',2,3)会返回ell。

3. UPPER()函数:用于将字符串转换成大写,比如UPPER('hello')会返回HELLO。

4. LOWER()函数:用于将字符串转换成小写,比如LOWER('HELLO')会返回hello。

5. TRIM()函数:用于去掉字符串首尾的空格,比如TRIM(' hello ')会返回hello。

三、日期型函数1. CURRENT_DATE函数:用于获取当前日期,比如SELECT CURRENT_DATE FROM DUAL会返回当前日期。

2. SYSDATE函数:用于获取系统当前时间,比如SELECTSYSDATE FROM DUAL会返回系统当前时间。

3. TO_CHAR()函数:用于将日期转换成字符型,比如TO_CHAR(SYSDATE,'yyyy-mm-dd')会返回当前日期的年月日格式。

oracle常用函数使用大全_最新整理

oracle常用函数使用大全_最新整理
oracle常 用函数使 用大全
单值函 数在查询 中返回单 个值,可 被应用到 select, where子 句,start with以及 connect by 子句 和having 子句。 (一).数值 型函数 (Number Functions ) 数值型函 数输入数 字型参数 并返回数 值型的值 。多数该 类函数的 返回值支 持38位小 数点,诸 如:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH 支 持36位小 数点。 ACOS, ASIN, ATAN, and ATAN2支 持30位小
n1<0,则 oracle从 右向左数 确认起始 位置 例如: SELECT SUBSTR( 'What is this',-5,3) FROM DUAL;
n1>c1.len gth则返 回空 例如: SELECT SUBSTR( 'What is this',50,3) FROM DUAL; 然后再请 你猜猜, 如果 n2<1,会 如何返回 值呢
3、 TRUNC(n 1[,n2] 返 回截尾到 n2位小数 的n1的 值,n2缺 省设置为 0,当n2为 缺省设置 时会将n1 截尾为整 数,如果 n2为负 值,就截 尾在小数 点左边相 应的位上 。 例如: SELECT TRUNC(2 3.56),TRU NC(23.56, 1),TRUNC (23.56,-1) FROM DUAL;
例如: SELECT REPLAC E('WWhhh hhaT is tHis w W','W','-') FROM
9、 SOUNDE X(c) 神奇 的函数 啊,该函 数返回字 符串参数 的语音表 示形式, 对于比较 一些读音 相同,但 是拼写不 同的单词 非常有用 。计算语 音的算法 如下:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附录ⅡOracle11g SQL函数函数名 返回类型说明字符串函数ASCII(s) 数值 返回s首位字母的ASCII码CHR(i) 字符 返回数值i的ASCII字符CONCAT(s1,s2) 字符 将s2连接到字符串s1的后面INITCAP(s) 字符 将每个单词首位字母大写其它字母小写 INSTR(s1,s2[,i[,j]]) 数值 返回s2在s1中第i位开始第j次出现的位置 INSTRB(s1,s2[,i[,j]]) 数值 与INSTR(s)函数相同,但按字节计算 LENGTH(s) 数值 返回s的长度。

LENGTHb(s) 数值 与LENGTH(s)相同,但按字节计算。

lower(s) 字符 返回s的小写字符LPAD(s1,i[,s2]) 字符 在s1的左侧用s2字符串补足到总长度i LTRIM(s1,s2) 字符 循环去掉在s2中存在的s1左边字符RPAD(s1,i[,s2]) 字符 在s1的右侧用s2字符串补足到总长度i RTRIM(s1,s2) 字符 循环去掉在s2中存在的s1右边字符 REPLACE(s1,s2[,s3]) 字符 用s3替换出现在s1中的s2REVERSE(s) 字符 返回s倒排的字符串SUBSTR(s,i[,j]) 字符 从s的第i位开始截得长度j的子字符串 SUBSTRB(s,i[,j]) 字符 与SUBSTR相同,但i,j按字节计算。

SOUNDEX(s) 返回与s发音相似的词TRANSLATE(s1,s2,s3) 字符 将s1中与s2相同的字符以s3代替TRIM(s) 字符 删除s的首部和尾部空格UPPER(s) 字符 返回s的大写正则表达式函数REGEXP_LIKE() 布尔 功能与LIKE的功能相似REGEXP_INSTR() 数值 功能与INSTR的功能相似REGEXP_SUBSTR() 字符 功能与SUBSTR的功能相似REGEXP_REPLACE() 字符 功能与REPLACE的功能相似数字函数ABS(i) 数值 返回i的绝对值ACOS(i) 数值 反余玄函数,返回-1到1之间的数ASIN(i) 数值 反正玄函数,返回-1到1之间的数ATAN(i) 数值 反正切函数,返回i的反正切值CEIL(i) 数值 返回大于或等于n的最小整数COS(i) 数值 返回n的余玄值COSH(i) 数值 返回n的双曲余玄值EXP(i) 数值 返回e的i次幂,e=2.71828183FLOOR(i) 数值 返回小于等于i的最大整数LN(i) 数值 返回i的自然对数,i>0LOG(i,j) 数值 返回以i为底j的对数MOD(i) 数值 返回i除以j的余数POWER(i,j) 数值 返回i的j次方ROUND(i,j) 数值 返回i四舍五入值,j是小数点位数SIGN(i) 数值 i>0返回1,i=0返回0,i<0返回-1SIN(i) 数值 返回i的正玄值SINH(i) 数值 返回i的双曲正玄值SQRT(i) 数值 返回i的平方根TAN(i) 数值 返回i的正切值TANH(i) 数值 返回i的双曲正切值TRUNC(I,j) 数值 返回i的结尾值,j可正、零、负数转换函数CONVERT(s,ds,ss) 字符 将s,由ss字符集转换为ds字符集HEXTORAW(s) 字符 将16进制的s转换为RAW数据类型。

RAWTOHEX(s) 字符 将RAW类型s转换为16进制的数据类型。

ROWIDTOCHAR(s) 字符 将ROWID类型s转换为CHAR数据类型。

TO_CHAR(p,fmt) 字符 将p转换成fmt指定格式的char类型,若p为日期 TO_DATE(s,fmt) 日期 将字符串s转换成date数据类型TO_MULTI_BYTE(s) 字符 将s的单字节字符转换成双字节字符TO_NUMBER(s) 数值 将返回s代表的数值。

TO_SINGLE_BYTE() 字符 将s中的多字节字符转化成单字节字符日期函数ADD_MONTHS(d,i) 日期 返回日期d加上i个月后的结果LAST_DAY(d) 日期 返回日期d月份的最后一天MONTHS_BETWEEN(d1,d2) 数值 返回d1和d2之间月的数目NEW_TIME(d,tz1,tz2) 日期 将日期d由时区tz1转换到时区tz2 NEW_TIME(sysdate,'GMT','CST')NEXT_DAY(d,w) 日期 返回d后w给出的第一星期w,w=1--7(周日--周六) ROUND(d,fmt) 日期 fmt=YYYY|MM|DD|D,返回舍入d后fmt格式的第一天 TRUNC(d,fmt) 日期 fmt=YYYY|MM|DD|D,返回截去d后fmt格式的第一天 SYADATE 日期 无参数,返回当前日期和时间。

其它函数NVL(s1|p1,s2|p2) 不定 如果s1或p1是空值,返回s2或p2BFILENAME(dir,file) 指针 初始化BFILE变量或BFILE列,返回空BFILE位置指针 DECODE(p,p1,p2,...) 不定 if p=p1 then p2;elsif p=p3 then p4…else pnDUMP(s,fmt,I,j) 字符 返回s的类型编号,s从i截取j个字符fmt进制的ASCII DUMP('A1cbd',1010,1,2)EMPTY_BLOB() 指针 初始化BLOB变量或BLOB列,返回空的BLOB位置指针 EMPTY_CLOB() 指针 初始化CLOB变量或CLOB列,返回空的CLOB位置指针 GREATEST(p,p1,p2,...) 不定 返回其中最大的表达式LEAST(p,p1,p2,...) 不定 返回其中最小的表达式UID 数值 返回唯一标示当前数据库用户的编号。

USER 字符 返回当前用户的用户名USERENV(OPTION) 字符 返回当前会话信息,OPTION取值参见最后一页。

SYS_CONTEXT(s1,s2) 字符 返回当前会话信息,s1='USERENV',s2=OPTION。

VSIZE(s) 数值 返回s的字节数组函数AVG(col) 数值 返回数值列col的平均值COUNT(col|*) 数值 返回列col的行数目,*表示返回所有的行MAX(col) 不定 返回数值列col的最大值MIN(col) 不定 返回数值列col的最小值STDDEV(col) 数值 返回数值列col的标准差,标准差是方差的平方根 SUM(col) 数值 返回数值列col的总和VARIANCE(col) 数值 返回数值列col的统计方差WM_CONCAT(col) 字符 返回列col值的合并行,用逗号分隔。

OVER分组排序函数OVER([分组]排序) 按字段分组、排序,与下面函数联合使用OVER(PARTITION BY列ORDER BY 列) 或 OVER(ORDER BY 列)RANK()OVER() 数值 增加序号伪列:1、2、2、4、…DENSE_RANK()OVER() 数值 增加序号伪列:1、2、2、3、… ROW_NUMBER()OVER() 数值 增加序号伪列:1、2、3、4、… SUM(列)OVER() 数值 求和、分组求和、求累计LAG(exp,n,defval) 不定 读取某列的上第n行LEAD(exp,n,defval) 不定 读取某列的下第n行 LAG、LEAD:exp列名、第n行、无返回值时取代值s、s1、s2、s3为串、串表达式,p、p1、p2数值、数值表达式,i、j为整数,fmt为数据格式,d、d1、d2为日期SYS_CONTEXT('USERENV',Option) 返回当前会话信息SYS_CONTEXT('USERENV','TERMINAL') terminalSYS_CONTEXT('USERENV','LANGUAGE') languageSYS_CONTEXT('USERENV','SESSIONID') sessionidSYS_CONTEXT('USERENV','INSTANCE') instanceSYS_CONTEXT('USERENV','ENTRYID') entryidSYS_CONTEXT('USERENV','ISDBA') isdbaSYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territorySYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currencySYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendarSYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_formatSYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language SYS_CONTEXT('USERENV','NLS_SORT') nls_sortSYS_CONTEXT('USERENV','CURRENT_USER') current_userSYS_CONTEXT('USERENV','CURRENT_USERID') current_useridSYS_CONTEXT('USERENV','SESSION_USER') session_userSYS_CONTEXT('USERENV','SESSION_USERID') session_useridSYS_CONTEXT('USERENV','PROXY_USER') proxy_userSYS_CONTEXT('USERENV','PROXY_USERID') proxy_useridSYS_CONTEXT('USERENV','DB_DOMAIN') db_domainSYS_CONTEXT('USERENV','DB_NAME') db_nameSYS_CONTEXT('USERENV','HOST') hostSYS_CONTEXT('USERENV','OS_USER') os_userSYS_CONTEXT('USERENV','EXTERNAL_NAME') external_nameSYS_CONTEXT('USERENV','IP_ADDRESS') ip_addressSYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocolSYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_idSYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_idSYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') authentication_type SYS_CONTEXT('USERENV','AUTHENTICATION_DATA') authentication_dataUSERENV(OPTION)返回当前的会话信息 OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE。

相关文档
最新文档