ORACLE常用函数

合集下载

oracle常用函数汇总(分享)

oracle常用函数汇总(分享)

oracle常⽤函数汇总(分享)算术运算符:+ - * / 可以在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); --包括重复⾏ 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 ....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//显⽰Two Hundred Twenty-Twoselect 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')select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;select id, active_date from table1UNIONselect 1, TO_DATE(null) from dual;注意要⽤TO_DATE(null)a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')那么12⽉31号中午12点之后和12⽉1号的12点之前是不包含在这个范围之内的。

oracle的count函数

oracle的count函数

Oracle的COUNT函数介绍在Oracle数据库中,COUNT函数是一种聚合函数,用于查询满足指定条件的行数。

COUNT函数的语法为:COUNT(expr)其中,expr是要统计的列或表达式。

COUNT函数会返回该列或表达式的非空值的数量。

COUNT函数可以与其他数据库函数(如SUM、MAX、MIN等)一起使用,也可以与GROUP BY子句一起使用以对结果分组。

本文将深入探讨Oracle的COUNT函数,包括使用方法、常见应用场景等。

使用方法COUNT函数可以用于不同的场景和用途,具体取决于expr参数的使用方式。

下面是一些常见的使用方法:统计表中的行数SELECT COUNT(*) FROM table_name;上述语句将返回表table_name中的总行数。

COUNT函数的参数使用通配符*,表示统计所有行。

统计某列的非空值数量SELECT COUNT(column_name) FROM table_name;上述语句将返回表table_name中列column_name的非空值数量。

COUNT函数的参数为具体的列名。

结合条件统计行数SELECT COUNT(*) FROM table_name WHERE condition;上述语句将返回表table_name中满足条件condition的行数。

可以根据实际需要对条件进行组合和筛选。

常见应用场景COUNT函数在数据分析和报表生成等场景中具有广泛的应用。

以下是一些常见的应用场景:统计订单数量SELECT COUNT(*) FROM orders;通过COUNT函数,可以轻松统计订单表中的订单数量。

对于电商平台等需要分析销售数据的场景很有用。

筛选满足条件的行数SELECT COUNT(*) FROM products WHERE price > 1000;通过COUNT函数结合条件语句,可以筛选出满足特定条件的行数。

例如,上述语句统计了价格大于1000的产品数量。

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中,时间相减函数主要包括以下几种: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时间比较函数

oracle时间比较函数在Oracle数据库中,有很多常用的时间比较函数,它们可以让我们方便地比较不同的时间值,从而实现更加复杂的时间操作。

本文将围绕着Oracle时间比较函数展开讲解,分步骤介绍这些函数的使用方法和注意事项。

1. SYSDATE函数SYSDATE函数是Oracle中最常用的时间比较函数之一,它用于获取系统当前的时间。

在SQL语句中使用SYSDATE函数时不需要为其传递任何参数,只需要直接调用即可。

示例:SELECT sysdate from dual;在执行以上语句后,Oracle数据库会返回一个当前时间类型的值,即当前日期和时间。

2. SYSTIMESTAMP函数SYSTIMESTAMP函数是和SYSDATE非常类似的另一个函数,它也返回当前的日期和时间。

不同之处在于,SYSTIMESTAMP函数返回的是带有时区信息的时间值,可以更准确地表示当前时间。

在SQL语句中使用SYSTIMESTAMP函数时同样不需要传递参数,直接调用即可。

示例:SELECT systimestamp from dual;3. EXTRACT函数EXTRACT函数用于从一个日期或时间类型的值中提取指定的部分,比如提取年份、月份、小时等。

语法如下:EXTRACT (field FROM expression)其中,field可以是以下任意一个值:• YEAR(提取年份)• MONTH(提取月份)• DAY(提取日期)• HOUR(提取小时)• MINUTE(提取分钟)• SECOND(提取秒数)示例:SELECT EXTRACT(YEAR FROM SYSDATE), EXTRACT(MONTH FROM SYSDATE) from dual;该语句会返回当前的年份和月份。

4. ADD_MONTHS函数ADD_MONTHS函数用于在一个日期类型的值上增加指定的月份数。

语法如下:ADD_MONTHS (date, number_of_months)其中,date是指要进行修改的日期,而number_of_months则是要增加的月份数。

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函数大全SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL〉 select ascii('A')A,ascii(’a') a,ascii('0’) zero,ascii(' ') space from dual;A A ZERO SPACE————-——-— -—---———- ---—----- ---————-—65 97 48 322.CHR给出整数,返回对应的字符;SQL〉 select chr(54740) zhao,chr(65) chr65 from dual;ZH C—— -赵 A3.CONCAT连接两个字符串;SQL> select concat('010—’,'88888888')||'转23’高乾竞电话 from dual;高乾竞电话—-——-———-—--——-—010—88888888转234.INITCAP返回字符串并将字符串的第一个字母变为大写;SQL〉 select initcap('smith’) upp from dual;UPP—————Smith5.INSTR(C1,C2,I,J)在一个字符串中搜索指定的字符,返回发现指定的字符的位置;C1 被搜索的字符串C2 希望搜索的字符串I 搜索的开始位置,默认为1J 出现的位置,默认为1SQL> select instr(’oracle traning’,’ra',1,2) instring from dual;INSTRING—-—------96.LENGTH返回字符串的长度;SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;NAME LENGTH(NAME) ADDR LENGTH(ADDR) SALLENGTH(TO_CHAR(SAL))————-———---————-—- —--——---——----—- -———--—-—-—— ----———-————----—-——--—--—---高乾竞 3 北京市海锭区 6 9999.99 77。

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去除字符串中指定字符(非空格)时的特殊用法。

ORACLE常用函数在GBASE中对应函数


to_char()
substr()
substr()
instr(str,substr)
instr(str,substr)
nvl
nvl
case when
case when
trim(str)
trim(str)
ltrim(str)
ltrim(str)
rtrim(str)
rtrim(str)
字符函数 to_number()
日期函数 month_between(date,date) timestampdiff(month,date,date)
trunc
trunc
trunc(sysdate,'day')
adddate(curdate(),weekday(curdate()))
ascii(str)
ascii(str)
to_char()
测试用例 字符串转日期:select to_date('2016-04-19','yyyy-mm-dd'); 当前时间:select sysdate(),now(); 当前时间前推1个月:select add_months(sysdate(),-1); 当前时间前推2天:select adddate(sysdate(),-2); 本月最后一天:select last_day(curdate()); 2个日期之间的月数:select timestampdiff(month,now(),adddate(now(),30)); 当年第一天:select trunc(curdate(),'yyyy'); 当月第一天:select trunc(curdate(),'mm'); 当天凌晨0点0分0秒:select trunc(curdate(),'hh');

Oracle常用函数Trunc及Trunc函数用法讲解

Oracle常⽤函数Trunc及Trunc函数⽤法讲解1. Trunc( date)trunc 以指定的元素截取⽇期类型的数据语法:trunc(date,[ format])date– ⽇期格式的值format–⽇期格式如‘mm','yyyy'等将date从指定⽇期格式截取例如:trunc(sysdate,'yyyy')=‘01-01⽉-17'(sysdate='21-11⽉-17'); --返回今年的第⼀天trunc(sysdate,'mm')=‘01-11⽉-17'; --返回本⽉第⼀天trunc(sysdate,'d')=‘19-11⽉-17'; --(今天星期⼆,⼀周从周⽇开始计算)返回本周第⼀天2 Trunc(number,[number1])trunc(number) 和round( ) 相似,只是不对截去的第⼀位数字不进⾏四舍五⼊如:round(89.125,2)=89.13trunc(89.125,2)=89.12trunc(89.125,-1)=80number1 的默认值是 0。

下⾯介绍下Oracle trunc()函数的⽤法1.TRUNC(for dates) TRUNC函数为指定元素⽽截去的⽇期值。

其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date ⼀个⽇期值 fmt ⽇期格式,该⽇期将由指定的元素格式所截去。

忽略它则由最近的⽇期截去 下⾯是该函数的使⽤情况: TRUNC(TO_DATE('24-Nov-1999 08:00 pm'),'dd-mon-yyyy hh:mi am') ='24-Nov-1999 12:00:00 am' TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am' trunc(sysdate,'yyyy') --返回当年第⼀天。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档