oracle常用函数

--日期转化为字符
select to_char(sysdate,'YY-MM-DD hh:mi:ss')as日期from dual
--字符转化为日期
select to_date('2013/7/16','YY-MM-DD') as日期from dual
--转换成小写
select Lower('SHIYINGZHAN') from dual
--转化为大写
select Upper('shiyingzhan') from dual
--求长度
select length('shiyingzhan') from dual
--取子串
select substr('shiyingzhan',1,5) from dual
--四舍五入
select
round(4589.36542,2),round(4586.4512,0),round(4586.4512 from dual
--求余
select mod(1600,300) from dual
--计算相差月份
select round(MONTHS_BETWEEN(sysdate,'2013-05-07'),0) from dual
--NVL (expr1, expr2) 如果expr1为NULL,返回expr2 
select nvl('','shiyingzhan') from dual 
--NVL2 (expr1, expr2, expr3) 如果expr1为非空,则返回expr2,如果expr1为NULL,则返回expr3 
select nvl2('','shiyingzhan','clj') from dual
--NULLIF (expr1, expr2) ??? 如果expr1=expr2,返回NULL,否则返回expr1
select nullif('y','a') from dual
--COALESCE (expr1, expr2, ..., exprn) ??? 返回表达
式列表中的第一个非空表达式
select coalesce('','','7','5','') from dual
--去空格
select ltrim(' shi') from dual
select rtrim(' shi ') from dual
select trim(' shi ') from dual
--算相差日期时间
select to_date('20060302', 'yyyymmdd') date1,
to_date('20060101', 'yyyymmdd') date2,
to_date('20060302', 'yyyymmdd') -to_date('20060101', 'yyyymmdd') days,
(to_date('20060302', 'yyyymmdd') -
to_date('20060101', 'yyyymmdd')) / 31 months_cal,
months_between(to_date('20060302',
'yyyymmdd'),
to_date('20060101',
'yyyymmdd')) months_tetween
from dual;
--连接两个字符串
select concat('hello','world')from dual
--查找并替换
select replace('shiyingzhan','shi','song')from dual --查找字符串位置
select instr('hello world','or') from dual
--去除某个字符串
select ltrim('===shiyingzhan==','=') from dual
--用某个字符串替换掉左边空格或添加‘==’(在没有空格的情况下)select'=='||ltrim('shiyingzhan') from dual
select'=='||trim('shiyingzhan')||'='from dual
--增加月份
select add_months('2013/6/9',6) from dual
--返回指定月份的最后一天
select last_day('2013/6/9') from dual
--日期的四舍五入
select sysdate,
round(sysdate),
round(sysdate, 'YEAR'),
round(sysdate, 'MONTH'),
round(sysdate, 'day'),
round(sysdate, 'ddd')
from dual
--提取日期中的特定部分
select extract(year from sysdate),
extract(month from sysdate),
extract(day from sysdate),
extract(hour from systimestamp),
extract(minute from systimestamp),
round( extract(second from systimestamp),0) from dual。

合集下载

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 常用SQL函数1、数值型常用函数1).ceil(n) 大于或等于数值n的最小整数select ceil(10.6) from dual; 112).floor(n) 小于等于数值n的最大整数select ceil(10.6) from dual; 103).mod(m,n) m除以n的余数,若n=0,则返回m select mod(7,5) from dual; 24).power(m,n) m的n次方select power(3,2) from dual; 95).round(n,m) 将n四舍五入,保留小数点后m位select round(1234.5678,2) from dual; 1234.576).sign(n) 若n=0,则返回0,否则,n>0,则返回1,n<0,则返回-1select sign(12) from dual; 17).sqrt(n) n的平方根select sqrt(25) from dual ; 52、常用字符函数1).initcap(char) 把每个字符串的第一个字符换成大写select initicap('mr.ecop') from dual; Mr.Ecop2).lower(char) 整个字符串换成小写select lower('MR.ecop') from dual; mr.ecop3).replace(char,str1,str2) 字符串中所有str1换成str2select replace('Scott','s','Boy') from dual; Boycott4).substr(char,m,n) 取出从m字符开始的n个字符的子串select substr('ABCDEF',2,2) from dual; CD5).length(char) 求字符串的长度select length('ACD') from dual; 36).|| 并置运算符select 'ABCD'||'EFGH' from dual; ABCDEFGH7).RPAD和LPAD(粘贴字符)RPAD 在列的右边粘贴字符LPAD 在列的左边粘贴字符SQL> select lpad(rpad(gao,10,*),17,*)from dual;LPAD(RPAD(GAO,1-----------------*******gao*******8).decodeselect decode(column1,null,'空',1,'壹',2,'贰',3,'叁','其他') from table19).case表达式.case表达式(1)SELECT first_name,last_name,job_id,salary,CASE job_idWHEN 'IT_PROG' THEN salary*2WHEN'ST_CLERK' THEN salary*1.2ELSE salary*1.1END AS new_salaryFROM employeesORDER BY job_id;.case表达式(2)SELECT first_name,last_name,job_id,salary,CASEWHEN job_id = 'IT_PROG' THEN salary*2WHEN job_id = 'ST_CLERK' THEN salary*1.2ELSE salary*1.1END AS new_salaryROM employeesORDER BY job_id;3、日期型函数sysdate 当前日期和时间select sysdate from dual;last_day 本月最后一天select last_day(sysdate) from dual;add_months(d,n) 当前日期d后推n个月select add_months(sysdate,2) from dual; months_between(d,n) 日期d和n相差月数select months_between(sysdate,to_date('20020812','YYYYMMDD')) from dual;next_day(d,day) d月后第一周指定day的日期select next_day(sysdate,'Monday') from dual;day 格式有'Monday' 星期一'Tuesday' 星期二'wednesday' 星期三'Thursday' 星期四'Friday' 星期五'Saturday' 星期六'Sunday' 星期日4、特殊格式的日期型函数Y或YY或YYY 年的最后一位,两位,三位select to_char(sysdate,'YYY') from dual;Q 季度,1-3月为第一季度select to_char(sysdate,'Q') from dual;MM 月份数select to_char(sysdate,'MM') from dual;RM 月份的罗马表示select to_char(sysdate,'RM') from dual; IVmonth 用9个字符表示的月份名select to_char(sysdate,'month') from dual;ww 当年第几周select to_char(sysdate,'ww') from dual;w 本月第几周select to_char(sysdate,'w') from dual;DDD 当年第几天,一月一日为001 ,二月一日032select to_char(sysdate,'DDD') from dual;DD 当月第几天select to_char(sysdate,'DD') from dual;D 周内第几天select to_char(sysdate,'D') from dual; 如sundayDY 周内第几天缩写select to_char(sysdate,'DY') from dual; 如sun hh12 12小时制小时数select to_char(sysdate,'hh12') from dual;hh24 24小时制小时数select to_char(sysdate,'hh24') from dual;Mi 分钟数select to_char(sysdate,'Mi') from dual;ss 秒数select to_char(sysdate,'ss') from dual;select to_char(sysdate,'YYYY-MM-DD HH:24:mi:ss') from dua;to_number() 将合法的数字字符串select to_number('88877') from dual; 88877 to_char() 将数字转换为字符串select to_char(88877) from dual; '88877'。

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统计个数的函数

Oracle统计个数的函数在Oracle数据库中,有几个特定的函数可以用于统计个数。

这些函数可以用于计算满足特定条件的行数或返回不同值的个数。

以下是一些常用的统计个数的函数:•COUNT()•COUNT(DISTINCT)•SUM(CASE WHEN … THEN …)•GROUP BY和HAVING子句下面将详细解释每个函数的定义、用途和工作方式。

1. COUNT()定义: COUNT()函数用于计算满足特定条件的行数。

用途: COUNT()函数可以用于计算表中满足特定条件的行数,也可以用于计算表中的所有行数。

工作方式: COUNT()函数的语法如下:COUNT(expression)其中,expression是要计算行数的列或表达式。

COUNT()函数返回一个整数,表示满足条件的行数。

如果不指定expression,COUNT()函数将计算表中的所有行数。

如果指定expression,COUNT()函数将计算满足expression条件的行数。

示例:-- 计算表中的所有行数SELECT COUNT(*) FROM employees;-- 计算满足特定条件的行数SELECT COUNT(*) FROM employees WHERE salary > 5000;2. COUNT(DISTINCT)定义: COUNT(DISTINCT)函数用于计算不同值的个数。

用途: COUNT(DISTINCT)函数可以用于计算表中某列的不同值的个数。

工作方式: COUNT(DISTINCT)函数的语法如下:COUNT(DISTINCT expression)其中,expression是要计算不同值个数的列或表达式。

COUNT(DISTINCT)函数返回一个整数,表示不同值的个数。

示例:-- 计算表中某列的不同值个数SELECT COUNT(DISTINCT department_id) FROM employees;3. SUM(CASE WHEN … THEN …)定义:SUM(CASE WHEN … THEN …)函数用于根据条件计算列的和。

oracle 数值比较函数

oracle 数值比较函数

oracle 数值比较函数Oracle数据库中的数值比较函数可以帮助我们方便地进行数值之间的比较,从而实现对数据的有效处理。

以下将介绍一些常用的Oracle数值比较函数及其应用实例。

1.Oracle数值比较函数概述在Oracle中,数值比较函数主要用于对两个数值进行比较,返回比较结果。

这些函数可以应用于WHERE子句、HAVING子句等,以便在查询过程中对数据进行筛选。

2.常用的Oracle数值比较函数- GREATEST(最大值):比较两个数值,返回较大值。

- LEAST(最小值):比较两个数值,返回较小值。

- ABS(绝对值):计算数值的绝对值。

- ROUND(四舍五入):对数值进行四舍五入处理。

- TRUNC(截断):截断数值的小数部分。

- MOD(取模):计算两个数值的余数。

3.函数实例及应用实例1:查询员工工资高于10000的记录```sqlSELECT * FROM employeeWHERE salary > 10000;```实例2:查询订单金额小于100元的记录```sqlSELECT * FROM orderWHERE amount < 100;```实例3:计算员工年龄的平方根```sqlSELECT sqrt(age) FROM employee;```4.注意事项在使用Oracle数值比较函数时,需要注意以下几点:- 确保比较的数值类型相同,否则可能导致比较结果错误。

- 结合实际情况选择合适的比较函数,以提高查询效率。

- 在使用比较函数时,注意查询性能,避免过度使用导致系统负载过高。

总之,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数据库是一种关系型数据库管理系统,它支持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常用的函数

函数:1、INITCAP(‘字符串’ )返回字符串并将第一个字母大写:select INITCAP('1test word TEST two')from dual;1test Word Test Two即首个字符是数字时,本单词不大写,后面的每个字符串分段,空格、下划线,都将大写第一个字母。

2、INSTR(‘字符串’,‘需要搜索字符’,起始位置,第几次出现)select instr('oracle traning','ra',1,2)from dual;93、LENGTH(‘字符串’)select length('test_name')from dual;94、LOWER(‘字符串’) UPPER(‘字符串’)将目标字符串全部大写或者小写返回select lower('Test_NAME_1NAME')FROM DUAL;test_name_1name5、RPAD() 和LPAD()在字符串左边或者右边粘贴字符,并返回定长字符select rpad(lpad('jason',12,'*'),15,'#')from dual;*******jason###6、TRIM()默认删除首位的空格,还有ltrim()和rtrim()select trim(' test_word and so on ')resultfrom dual;test_word and so onselect trim(trailing'o'from'test_word_andsoo')from dual;test_word_andsSELECT trim(leading'2'from'213dsq12')FROM dual;13dsq12SELECT trim(both'2'from'213dsq12')FROM dual;13dsq1select ltrim('test_name_and so on','ets')from dual;_name_and so on关键是第一个要删除的字符就得匹配,不然删除不了一个。

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')会返回当前日期的年月日格式。

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