ORACLE常用函数功能演示

ORACLE常用函数功能演示文档撰写:孟祥新写在前面:ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。

由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码是内嵌在ORACLE数据库系统中的,因此其执行效率极高。

在数据库编程中能广泛使用ORACLE所提供的内置函数,将大大提高程序代码的执行效率。

“站在高人的肩膀上,将使你变得更高”。

演示之前的环境设置:为了在SQL*PLUS中直观地显示函数返回的结果,我将“头”信息先屏蔽掉。

操作如下:一、单行函数1.数值函数(1)三角函数①SIN、ASIN、SINH(正弦、反正弦、双曲正弦)②COS、ACOS、COSH(余弦、反余弦、双曲余弦)③TAN、ATAN、TANH(正切、反正切,双曲正切)(2)幂、方根及对数运算函数①POWER(m, n)(取m的n次幂)②SQRT(n)(取n的平方根)③EXP(n)(取自然对数底e的n次方根)④LN(n)(取n的自然对数)⑤LOG(m, n)(取以m为底n的对数)以上函数功能演示如下:(3)数值处理函数①ABS(n)(取绝对值)②SIGN(n)(符号函数)③CEIL(n)(取不小于n的最小整数)④FLOOR(n)(取不大于n的最大整数)⑤ROUND(n, [m])(按m精度对n进行4舍5入)⑥TRUNC(n, [m])(按m精度对n进行截取)⑦MOD(m, n)(取m除以n的余数)以上函数功能演示如下:2.字符处理函数(1)对字符串的大小写处理的函数①INITCAP(功能:将字符串中每个单词的首字母,变换为大写。

)②UPPER(功能:将字符串中的所有字母,转换为大写。

)③LOWER(功能:将字符串中的所有字母,转换为小写。

)以上函数功能演示如下:(2)对字符串进行处理的函数①CONCAT(字符串连接函数,也可用|| 替代)功能演示如下:②ASCII(取字符的编码)③CHR(将编码转换为对应的字符)以上函数功能演示如下:④LTRIM(去除左侧空格/指定字符)⑤RTRIM(去除右侧空格/指定字符)⑥TRIM(去除两侧的空格/去除指定字符)以上函数去除空格功能演示如下:以上函数去除指定字符功能演示如下:请注意:在用TRIM去除字符串中指定字符(非空格)时的特殊用法。

⑦LPAD(左侧添充空格/指定字符)⑧RPAD(右侧添充空格/指定字符)以上函数功能演示如下:⑨LENGTH(取字符串的长度)⑩SUBSTR(截取子字符串)用法格式:SUBSTR(string, start [,length])功能说明:从字符串string的start位置开始向后截取length长度的子串以上函数功能演示如下:⑾INSTR(查找子字符串的位置)用法格式:INSTR(string, search_string [,n [,m]])功能说明:从字符串string的第n个字符开始查找search_string第m次出现的位置,如果按条件没有找到字符串,则返回0(注意:此函数返回的位置是以原字符串首字符所在位置为起始点的,首字符位置为1)函数功能演示如下:⑿REPLACE(子串替换)用法格式:REPLACE(string, search_string [,replace_string])功能说明:将字符串string中的所有search_string都替换为replace_string,如果省略replace_string,则将字符串string中的所有search_string都去掉。

⒀TRANSLATE(字符转换)用法格式:TRANSLATE(string, search_set, replace_set)功能说明:将string中出现在search_set中的字符转换为replace_set相应位置的字符。

以上函数功能演示如下:3.日期函数①SYSDATE(取当前的数据库系统时间)②ADD_MONTHS(加减指定的月份)③MONTHS_BETWEEN(取两个日期之间相隔的月数)④LAST_DAY(取指定日期所在月的最后一天)以上函数功能演示如下:⑤ROUND(date, ‘format_string’)功能:按日期掩码format_string的格式对给定的日期date进行舍/入。

⑥TRUNC(date, ‘format_string’)功能:按日期掩码format_string的格式对给定的日期date进行截取。

以上函数功能演示如下:4.类型转换函数功能:在数值和字符,以及字符和日期之间进行数据类型的转换说明:在ORACLE数据服务器,可以对数值形式的字符串隐式地转换为数值类型的数据,也可以将数值类型的数据隐式地转换为数值形式的字符串。

但也可以进行如下的显式转换。

①TO_CHAR(n)(将数值n转换为字符类型)②TO_NUMBER(‘string’)(将字符串string转换为数值类型)③TO_CHAR(date, ‘format_string’)(按照时间掩码format_string的格式要求,将日期型数据date转换为字符型数据)④TO_DATE(‘string’, ‘format_string’)(将字符型数据string按照时间掩码format_string的格式要求,转换为相应的日期型数据)常用的时间格式掩码如下:以上函数功能演示如下:5.空值转换函数①NVL(expr1, expr2)功能:如果expr1 的计算结果为null 值,则返回expr2 的值。

如果expr1 的计算结果不是null 值,则返回expr1 的值②NVL2(expr1, expr2, expr3)功能:如果expr1非空,则返回expr2的值;如果expr1为空,则返回expr3的值。

③NULLIF(expr1, expr2)功能:比较两个表达式,如果相等返回空;如果不相等,返回第一个表达式的值。

④COALESCE(expr1, expr2, ..., exprn)功能:返回表达式列表中的第一个非空表达式的值。

6.查看环境参数函数(1)USER函数(返回当前用户名)(2)USERENV函数①USERENV('ISDBA') (查看当前用户是否是DBA)②USERENV('LANGUAGE') (查看环境所用的字符集)③USERENV('TERMINAL') (查看当前用户终端的标识)以上函数用法演示如下:select USERENV('ISDBA'), USERENV('LANGUAGE'), USERENV('TERMINAL') from dual;(3)SYS_CONTEXT函数说明:SYS_CONTEXT函数是在ORACLE 8i中新增的,在功能上比USERENV函数更加全面。

用法格式:SYS_CONTEXT('USERENV', '<parameter>')根据参数parameter来返回相应的信息①登录验证类型select SYS_CONTEXT('USERENV', 'AUTHENTICATION_TYPE') from dual;②当前登录数据库的用户名select SYS_CONTEXT('USERENV', 'CURRENT_USER') from dual;③当前登录客户端的操作系统用户名select SYS_CONTEXT('USERENV', 'OS_USER') from dual;④当前所在客户机名(包括所在工作组名)select SYS_CONTEXT('USERENV', 'HOST') from dual;⑤当前所在客户机/终端名select SYS_CONTEXT('USERENV', 'TERMINAL') from dual;⑥当前所在客户端的IPselect SYS_CONTEXT('USERENV', 'IP_ADDRESS') from dual;⑦当前是否为DBA帐户select SYS_CONTEXT('USERENV', 'ISDBA') from dual;⑧当前的字符集select SYS_CONTEXT('USERENV', 'LANGUAGE') from dual;⑨当前所使用的网络协议select SYS_CONTEXT('USERENV', 'NETWORK_PROTOCOL') from dual;⑩当前所使用的日历select SYS_CONTEXT('USERENV', 'NLS_CALENDAR') from dual;⑾当前的货币单位select SYS_CONTEXT('USERENV', 'NLS_CURRENCY') from dual;⑿当前的日期格式select SYS_CONTEXT('USERENV', 'NLS_DATE_FORMAT') from dual;⒀当前的日期语言select SYS_CONTEXT('USERENV', 'NLS_DATE_LANGUAGE') from dual;⒁当前所在的地域select SYS_CONTEXT('USERENV', 'NLS_TERRITORY') from dual; ⒂当前代理用户select SYS_CONTEXT('USERENV', 'PROXY_USER') from dual; 7.DECODE函数此函数用法示例如下:二、聚组函数功能:对一组数据进行运算。

以上函数功能演示如下:三、分析函数分析函数简介:ORACLE从8.1.6版开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚组函数的不同之处是对于每个组返回多行值,而聚组函数对于每个组只返回一行值。

(ORACLE有一整套分析函数,功能极其强大,用法也非常灵活,关于这一块的功能演示,请待续……)。

合集下载

ORACLE 聚合函数(共7个)

ORACLE 聚合函数(共7个)

ORACLE 聚合函数(共7个)AVG([distinct|all]x)【功能】统计数据表选中行x列的平均值。

【参数】all表示对所有的值求平均值,distinct只对不同的值求平均值,默认为all 如果有参数distinct或all,需有空格与x(列)隔开。

【参数】x,只能为数值型字段【返回】数字值【示例】环境:create table table3(xm varchar(8),sal number(7,2));insert into table3 values('gao',1111.11);insert into table3 values('gao',1111.11); insert into table3 values('zhu',5555.55);commit;执行统计:select avg(distinct sal),avg(all sal),avg(sal) from table3;结果: 3333.33 2592.59 2592.59SUM([distinct|all]x)【功能】统计数据表选中行x列的合计值。

【参数】all表示对所有的值求合计值,distinct只对不同的值求合计值,默认为all 如果有参数distinct或all,需有空格与x(列)隔开。

【参数】x,只能为数值型字段【返回】数字值【示例】环境:create table table3(xm varchar(8),sal number(7,2));insert into table3 values('gao',1111.11);insert into table3 values('gao',1111.11);insert into table3 values('zhu',5555.55);commit;执行统计:select SUM(distinct sal),SUM(all sal),SUM(sal) from table3;结果: 6666.66 7777.77 7777.77STDDEV([distinct|all]x)【功能】统计数据表选中行x列的标准误差。

oracle常用函数使用大全Oracle除法(转)

oracle常用函数使用大全Oracle除法(转)

oracle常⽤函数使⽤⼤全Oracle除法(转)/chenmeng2192089/article/details/9155625⼀、运算符算术运算符:+ - * / 可以在select 语句中使⽤连接运算符:|| select deptno|| dname from dept;⽐较运算符:> >= = != < <= like between is null in逻辑运算符:not and or集合运算符: intersect ,union, union all, minus要求:对应集合的列数和数据类型相同查询中不能包含long 列列的标签是第⼀个集合的标签使⽤order by时,必须使⽤位置序号,不能使⽤列名例:集合运算符的使⽤:intersect ,union, union all, minusselect * from emp intersect select * from emp where deptno=10 ;select * from emp minus select * from emp where deptno=10;select * from emp where deptno=10 union select * from emp where deptno in (10,20); --不包括重复⾏select * from emp where deptno=10 union all select * from emp where deptno in (10,20); --包括重复⾏⼆.ORACLE⽇期时间函数⼤全TO_DATE格式(以时间:2007-11-02 13:45:25为例)Year:yy two digits 两位年显⽰值:07yyy three digits 三位年显⽰值:007yyyy four digits 四位年显⽰值:2007Month:mm number 两位⽉显⽰值:11mon abbreviated 字符集表⽰显⽰值:11⽉,若是英⽂版,显⽰novmonth spelled out 字符集表⽰显⽰值:11⽉,若是英⽂版,显⽰novemberDay:dd number 当⽉第⼏天显⽰值:02ddd number 当年第⼏天显⽰值:02dy abbreviated 当周第⼏天简写显⽰值:星期五,若是英⽂版,显⽰friday spelled out 当周第⼏天全写显⽰值:星期五,若是英⽂版,显⽰fridayddspth spelled out, ordinal twelfthHour:hh two digits 12⼩时进制显⽰值:01hh24 two digits 24⼩时进制显⽰值:13Minute:mi two digits 60进制显⽰值:45Second:ss two digits 60进制显⽰值:25其它Q digit 季度显⽰值:4WW digit 当年第⼏周显⽰值:44W digit 当⽉第⼏周显⽰值:124⼩时格式下时间范围为: 0:00:00 - 23:59:59....12⼩时格式下时间范围为: 1:00:00 - 12:59:59 ....1. ⽇期和字符转换函数⽤法(to_date,to_char)select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //⽇期转化为字符串select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的⽉select to_char(sysdate,'dd') as nowDay from dual; //获取时间的⽇select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual//2. select to_char( to_date(222,'J'),'Jsp') from dual显⽰Two Hundred Twenty-Two3.求某天是星期⼏select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;星期⼀select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;monday设置⽇期语⾔ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';也可以这样TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')4. 两个⽇期间的天数select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;5. 时间为null的⽤法select id, active_date from table1UNIONselect 1, TO_DATE(null) from dual;注意要⽤TO_DATE(null)6.⽉份差a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')那么12⽉31号中午12点之后和12⽉1号的12点之前是不包含在这个范围之内的。

oracle 常用字符串函数

oracle 常用字符串函数

oracle 常用字符串函数Oracle是一种广泛使用的关系型数据库管理系统,它提供了许多强大的函数和工具来处理和管理数据。

在Oracle中,字符串函数是最常用的函数之一,它们可以帮助我们处理和操作字符串数据。

在本文中,我们将介绍一些常用的Oracle字符串函数。

1. SUBSTR函数SUBSTR函数用于从字符串中提取子字符串。

它的语法如下:SUBSTR(string, start_position, [length])其中,string是要提取子字符串的字符串,start_position是子字符串的起始位置,length是要提取的子字符串的长度(可选)。

如果省略length,则将提取从start_position开始的所有字符。

例如,以下语句将从字符串“Hello World”中提取“World”:SELECT SUBSTR('Hello World', 7) FROM dual;输出结果为:“World”。

2. INSTR函数INSTR函数用于查找字符串中某个子字符串的位置。

它的语法如下:INSTR(string, substring, [start_position], [nth_appearance])其中,string是要查找的字符串,substring是要查找的子字符串,start_position是查找的起始位置(可选),nth_appearance是要查找的子字符串的第几个出现位置(可选,默认为1)。

例如,以下语句将查找字符串“Hello World”中第一个出现的字母“o”的位置:SELECT INSTR('Hello World', 'o') FROM dual;输出结果为:5。

3. CONCAT函数CONCAT函数用于连接两个或多个字符串。

它的语法如下:CONCAT(string1, string2, ...)其中,string1、string2等是要连接的字符串。

ORACLE时间常用函数(字段取年、月、日、季度)

ORACLE时间常用函数(字段取年、月、日、季度)

ORACLE时间常⽤函数(字段取年、⽉、⽇、季度)TO_DATE格式Day:dd number 12dy abbreviated friday spelled out fridayddspth spelled out, ordinal twelfthMonth:mm number 03mon abbreviated marmonth spelled out marchYear:yy two digits 98yyyy four digits 199824⼩时格式下时间范围为: 0:00:00 - 23:59:59.... 12⼩时格式下时间范围为: 1:00:00 - 12:59:59 ....Y或YY或YYY 年的最后⼀位,两位或三位Select to_char(sysdate,’YYY’) from dual;002表⽰2002年SYEAR或YEAR SYEAR使公元前的年份前加⼀负号Select to_char(sysdate,’SYEAR’) from dual; -1112表⽰公元前111 2年Q 季度,1~3⽉为第⼀季度 Select to_char(sysdate,’Q’) from dual; 2表⽰第⼆季度①MM ⽉份数 Select to_char(sysdate,’MM’) from dual; 12表⽰12⽉RM ⽉份的罗马表⽰ Select to_char(sysdate,’RM’) from dual; IV表⽰4⽉Month ⽤9个字符长度表⽰的⽉份名 Select to_char(sysdate,’Month’) from dual; May后跟6个空格表⽰5⽉WW 当年第⼏周 Select to_char(sysdate,’WW’) from dual; 24表⽰2002年6⽉13⽇为第24周W 本⽉第⼏周 Select to_char(sysdate,’W’) from dual; 2002年10⽉1⽇为第1周DDD 当年第⼏, 1⽉1⽇为001,2⽉1⽇为032 Select to_char(sysdate,’DDD’) from dual; 363 2002年1 2⽉2 9⽇为第363天DD 当⽉第⼏天 Select to_char(sysdate,’DD’) from dual; 04 10⽉4⽇为第4天D 周内第⼏天 Select to_char(sysdate,’D’) from dual; 5 2002年3⽉14⽇为星期⼀DY 周内第⼏天缩写 Select to_char(sysdate,’DY’) from dual; SUN 2002年3⽉24⽇为星期天HH或HH12 12进制⼩时数 Select to_char(sysdate,’HH’) from dual;02 午夜2点过8分为02 HH24 24⼩时制 Select to_char(sysdate,’HH24’) from dual; 14 下午2点08分为14MI 分钟数(0~59) Select to_char(sysdate,’MI’) from dual; 17下午4点17分SS 秒数(0~59) Select to_char(sysdate,’SS’) from dual; 22 11点3分22秒提⽰注意不要将MM格式⽤于分钟(分钟应该使⽤MI)。

oracle中datediff函数的用法 -回复

oracle中datediff函数的用法 -回复

oracle中datediff函数的用法-回复Oracle中并没有提供直接的`DATEDIFF`函数,但你可以使用其他函数来实现类似的功能。

其中,`NUMTODSINTERVAL`和`MONTHS_BETWEEN`函数是常用的日期差计算函数。

本文将逐步介绍如何使用这两个函数来实现日期差计算的功能。

1. NUMTODSINTERVAL函数`NUMTODSINTERVAL`函数可以将数字转换为日期间隔,可以用于计算两个日期之间的天数、小时数、分钟数等。

下面是`NUMTODSINTERVAL`函数的用法示例:sqlSELECT NUMTODSINTERVAL(20, 'DAY')FROM DUAL;以上查询将返回一个间隔为20天的`INTERVAL DAY TO SECOND`类型的值。

为了计算两个日期之间的日期差,我们可以使用如下的方法:sqlSELECT NUMTODSINTERVAL((TO_DATE('2022-06-01', 'YYYY-MM-DD') -TO_DATE('2022-05-10', 'YYYY-MM-DD')),'DAY') AS date_diffFROM DUAL;以上查询将返回一个间隔为22天的`INTERVAL DAY TO SECOND`类型的值。

2. MONTHS_BETWEEN函数`MONTHS_BETWEEN`函数用于计算两个日期之间的月份差。

这个函数可以用于计算两个日期之间相隔的年数和月数。

下面是`MONTHS_BETWEEN`函数的用法示例:sqlSELECT MONTHS_BETWEEN(TO_DATE('2022-06-01', 'YYYY-MM-DD'),TO_DATE('2022-05-10', 'YYYY-MM-DD')) AS month_diffFROM DUAL;以上查询将返回一个值为0.677419的`NUMBER`类型。

oracle常用的分析函数

oracle常用的分析函数

oracle常⽤的分析函数常⽤的分析函数如下所列: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 ...)⼀、Oracle分析函数简介:在⽇常的⽣产环境中,我们接触得⽐较多的是OLTP系统(即Online Transaction Process),这些系统的特点是具备实时要求,或者⾄少说对响应的时间多长有⼀定的要求;其次这些系统的业务逻辑⼀般⽐较复杂,可能需要经过多次的运算。

⽐如我们经常接触到的电⼦商城。

在这些系统之外,还有⼀种称之为OLAP的系统(即Online Aanalyse Process),这些系统⼀般⽤于系统决策使⽤。

通常和数据仓库、数据分析、数据挖掘等概念联系在⼀起。

这些系统的特点是数据量⼤,对实时响应的要求不⾼或者根本不关注这⽅⾯的要求,以查询、统计操作为主。

oracle 分组统计函数

oracle 分组统计函数Oracle是一种流行的关系型数据库管理系统,具有强大的分组统计函数,可以帮助用户轻松实现数据分析和汇总。

在本文中,我们将介绍几种常用的Oracle分组统计函数,并说明它们的用途和功能。

GROUP BY子句是SQL语句中用于对查询结果进行分组的重要部分。

在Oracle中,可以结合使用GROUP BY子句和聚合函数来实现数据的分组统计。

以下是几种常用的Oracle分组统计函数:1. COUNT函数:COUNT函数用于统计查询结果集中行的数量。

可以结合GROUP BY子句使用,以实现对分组数据的计数统计。

例如,可以使用COUNT(*)来统计每个分组中的行数,或者使用COUNT(column_name)来统计指定列中非空值的数量。

2. SUM函数:SUM函数用于计算指定列的合计值。

可以结合GROUP BY子句使用,以实现对分组数据的求和统计。

例如,可以使用SUM(column_name)来计算每个分组中指定列的合计值。

3. AVG函数:AVG函数用于计算指定列的平均值。

可以结合GROUP BY子句使用,以实现对分组数据的平均值统计。

例如,可以使用AVG(column_name)来计算每个分组中指定列的平均值。

4. MAX函数:MAX函数用于找出指定列的最大值。

可以结合GROUP BY子句使用,以实现对分组数据的最大值统计。

例如,可以使用MAX(column_name)来找出每个分组中指定列的最大值。

5. MIN函数:MIN函数用于找出指定列的最小值。

可以结合GROUP BY子句使用,以实现对分组数据的最小值统计。

例如,可以使用MIN(column_name)来找出每个分组中指定列的最小值。

除了上述常用的分组统计函数外,Oracle还提供了其他一些函数,如STDDEV、VARIANCE等,用于计算标准差和方差等统计指标。

这些函数可以帮助用户更全面地分析数据,发现数据的规律和趋势。

oracle 常用字符串函数

Oracle常用字符串函数详解字符串是在任何编程语言中都必不可少的数据类型之一。

Oracle数据库提供了一系列的字符串函数来处理和操作字符串数据。

本文将介绍Oracle常用的字符串函数,并详细解释它们的定义、用途和工作方式。

以下是我们将要讨论的函数:1.LENGTH2.SUBSTR3.INSTR4.CONCAT5.UPPER6.LOWER7.TRIM8.REPLACE9.TRANSLATE10.LPAD11.RPAD12.LTRIM13.RTRIM14.SOUNDEX1. LENGTHLENGTH函数用于获取字符串的长度,返回字符串中字符的个数。

它的语法如下:LENGTH(string)string参数是要获取长度的字符串。

返回值是一个整数,代表字符串的长度。

例如:SELECT LENGTH('Hello, World!') FROM dual;运行上述SQL语句后,将返回结果15,因为字符串中有15个字符。

2. SUBSTRSUBSTR函数用于提取字符串的子串。

它的语法如下:SUBSTR(string, start_position, [length])string参数是要提取子串的字符串,start_position参数是子串在字符串中的起始位置(起始位置从1开始),length参数是要提取的子串的长度。

如果省略length 参数,则将提取从start_position到字符串结尾的子串。

例如:SELECT SUBSTR('Hello, World!', 8) FROM dual;运行上述SQL语句后,将返回结果”World!“,因为从字符串的第8个字符开始提取子串。

3. INSTRINSTR函数用于查找子串在字符串中第一次出现的位置。

它的语法如下:INSTR(string, substring, [start_position, [occurrence]])string参数是要查找的字符串,substring参数是要定位的子串,start_position参数是在字符串中开始搜索的位置,默认为1,occurrence参数是要定位的子串在字符串中的第几次出现,默认为1。

oracle时间相减函数

oracle时间相减函数Oracle是一个广泛使用的关系型数据库管理系统,它提供了许多强大的函数和操作符来处理日期和时间数据类型。

其中,时间相减函数是一种常用的功能,它可以用于计算两个时间之间的时间间隔。

在Oracle中,时间相减函数主要包括以下几种:DATEDIFF、TIMESTAMPDIFF、INTERVAL和EXTRACT。

下面将逐一介绍它们的用法和功能。

1. DATEDIFF函数DATEDIFF函数用于计算两个日期之间的天数、小时数、分钟数等时间间隔。

其基本语法如下:DATEDIFF(interval, start_date, end_date)其中,interval参数指定要计算的时间间隔单位,可以是YEAR、MONTH、DAY、HOUR、MINUTE等。

start_date和end_date参数分别指定两个日期。

例如,要计算两个日期之间的天数间隔,可以使用以下语句:SELECT DATEDIFF('DAY', '2022-01-01', '2022-01-10') AS days_diff FROM dual;上述语句将返回结果为9,表示2022年1月1日和2022年1月10日之间相差9天。

2. TIMESTAMPDIFF函数TIMESTAMPDIFF函数用于计算两个时间戳之间的时间间隔。

其基本语法如下:TIMESTAMPDIFF(interval, start_timestamp, end_timestamp)其中,interval参数指定要计算的时间间隔单位,可以是YEAR、MONTH、DAY、HOUR、MINUTE等。

start_timestamp和end_timestamp参数分别指定两个时间戳。

例如,要计算两个时间戳之间的小时数间隔,可以使用以下语句:SELECT TIMESTAMPDIFF('HOUR', '2022-01-01 12:00:00', '2022-01-01 18:00:00') AS hours_diff FROM dual;上述语句将返回结果为6,表示2022年1月1日12:00:00和2022年1月1日18:00:00之间相差6小时。

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)。
相关文档
最新文档