Oracle函数大全
oracle函数大全
数字函数
1.1、ABS(n)函数
描述:返回数值n的绝对值。
Examples:selectabs(-15)“test”fromdual;1.2、ACOS(n)函数
描述:返回数值n的反余弦值。输入数值范围在-1~1之间,返回值为弧度。
Examples:selectacos(0.6)“test”,acos(-.6)“test1”fromdual;1.3、COS(n)函数
描述:返回数值n的余弦值。返回值为弧度。
Examples:selectcos(1.6)“test”,cos(-6)“test1”fromdual;1.4、SIN(n)函数
描述:返回数值n的正弦值。
Examples:selectsin(1.6)“test”,sin(-6)“test1”fromdual;1.5、ASIN(n)函数
描述:返回数值n的反正弦值。输入数值范围在-1~1之间,返回值为弧度。
Examples:selectasin(0.6)“test”,asin(-0.6)“test1”fromdual;1.6、TAN(n)函数
描述:返回数值n的正切值。
Examples:selecttan(6)“test”,tan(-0.6)“test1”fromdual;1.7、ATAN(n)函数
描述:返回数值n的反正切值。输入数值任意,返回值为弧度。
Examples:selectatan(6)“test”,atan(-0.6)“test1”fromdual;1.8、ATAN2(n,m)函数
描述:返回数值n/m的反正切值。输入数值任意,返回值为弧度。
Examples:selectatan2(19,3)“test”,atan2(-9,-0.9)“test1”fromdual;1.9、SINH(n)函数
描述:返回数值n的双曲正弦值。输入数值任意。
Examples:selectsinh(6)“test”,sinh(-0.6)“test1”fromdual;1.10、TANH(n)函数
描述:返回数值n的双曲正切值。输入数值任意。
Examples:selecttanh(6)“test”,tanh(-0.6)“test1”fromdual;1.11、CEIL(n)函数
描述:返回大于等于数值n的最小整数。
Examples:selectceil(6)“test”,ceil(6.6)“test1”fromdual;1.12、COSH(n)函数
描述:返回数值n的双曲余弦值。
Examples:selectcosh(6)“test”,cosh(6.6)“test1”fromdual;1.13、EXP(n)函数
描述:返回e的n次冥。(e=2.71828183…)
Examples:selectexp(6)“test”fromdual;1.14、FLOOR(n)函数
描述:返回小于等于数值n的最大整数。Examples:selectfloor(6)“test”,floor(9.3)“test1”fromdual;1.15、LN(n)函数
描述:返回数值n的自然对数。(n必须大于0)
Examples:selectln(6)“test”fromdual;1.16、LOG(m,n)函数
描述:返回以m为底的数值n的对数。(m>1,n>0)
Examples:selectlog(6,3)“test”fromdual;1.17、MOD(m,n)函数
描述:返回m/n后的余数,若n=0,则返回m(求模运算)
Examples:selectmod(6,3)“test”fromdual;1.18、POWER(m,n)函数
描述:返回m的n次冥
Examples:selectpower(6,3)“test”fromdual;1.19、ROUND(n,[m])函数
描述:执行四舍五入运算,m可以省略,当省略m时,四舍五入到整数位;当m为正数时,四舍五
入到小数点后m位;当m为负数时,四舍五入到小数点前m位。
Examples:selectround(6.698,2)“test”fromdual;1.20、SIGN(n)函数
描述:检测数值的正负,当n<0则返回-1;当n>0则返回1,当n=0返回0。
Examples:selectsign(6.698)“test”,sign(-9)“test1”,sign(0)“test2”fromdual;1.21、SQRT(n)函数
描述:返回数值n的平方根。(n>=0)
Examples:selectsqrt(6.698)“test”fromdual;1.22、TRUNC(n,[m])函数
描述:截取数值n,m可以省略,当省略m时则截取n的小数部分;当m为正数时则将n截取到小
数点后m位;当m为负数时则将n截取到小数点前m位
Examples:selecttrunc(6.698,2)“test”,trunk(696.3,-2)“test1”fromdual;
字符函数
说明:字符函数输入值为字符类型,返回值为字符类型或数字类型,可以在sql语句中直接使用,也
可以在pl/sql块中使用。2.1、ASCII(n)函数
描述:返回字符串的ascii码(当输入为字符串时返回第一个字符的ascii码)
Examples:selectascii(‘A’)“test”,ascii(‘我们’)“test1”fromdual;2.2、CHR(n)函数
描述:返回对应的ascii码的字符(n必须为数字类型)
Examples:selectascii(54992)“test”fromdual;2.3、CONCAT(n,m)函数
描述:连接n和m,n和m可以是字符,也可以是字符串。作用和”||”一样。
Examples:selectconcat(‘中国’,’人民’)“test”fromdual;2.4、INITCAP(n)函数
描述:将字符串n中每个单词首字母大写,其余小写(区分单词的规则是按空格或非字母字符;可以
输入中文字符,但没有任何作用)Examples:selectinitcap(‘中国人民’)“test”,initcap(‘myword’)“test1”,initcap(‘my中
国word’)“test2”fromdual;2.5、INSTR(chr1,chr2,[n,[m]])函数
描述:获取字符串chr2在字符串chr1中出现的位置。n和m可选,省略是默认为1;n代表开始查找
的起始位置,当n为负数从尾部开始搜索;m代表字串出现的次数。
Examples:selectinstr('pplkoopijk','k',-1,1)“test”fromdual;
备注:当n为负数从尾部搜索,但返回值仍然是按正向排列得出的位置。2.6、LENGTH(n)函数
描述:返回字符或字符串长度。(当n为null时,返回nll;返回的长度包括后面的空格)
Examples:selectlength('ppl')“test”,length(null)“test1”fromdual;2.7、LOWER(n)函数
描述:将n转换为小写。
Examples:selectlower('KKKD')“test”fromdual;2.8、LPAD(chr1,n,[chr2])函数
描述:在chr1左边填充字符chr2,使得字符总长度为n。chr2可选,默认为空格;当chr1字符串
长度大于n时,则从左边截取chr1的n个字符显示。
Examples:selectlpad('kkk',5)“test”,lpad(‘kkkkk’,4)“test1”,lpad(‘kkk’,6,’lll’)“test2”
fromdual;2.9、LTRIM(chr,[n])函数
描述:去掉字符串chr左边包含的n字符串中的任何字符,直到出现一个不包含在n中的字符为止。
Examples:selectltrim('abcde',’a’)“test”,ltrim(‘abcde’,’b’)“test1”,ltrim(‘abcdefg’,’cba’)
“test2”fromdual;2.10、NLS_INITCAP(chr,[’nls_param’])函数
描述:将chr首字母大写。Nls_param可选,指定排序的方式。(有SCHINESE_RADICAL_M(部
首、笔画),SCHINESE_STROKE_M(笔画、部首),SCHINESE_PINYIN_M(拼音))
Examples:selectnls_initcap('abcde')“test”,nls_initcap(‘abcde’,’nls_sort=
SCHINESE_PINYIN_M’)“test1”fromdual;2.11、NLS_LOWER(chr,[‘nls_param’])函数
描述:将字符串转换为小写。Nls_param可选,指定排序的方式。(有SCHINESE_RADICAL_M
(部首、笔画),SCHINESE_STROKE_M(笔画、部首),SCHINESE_PINYIN_M(拼音))
Examples:selectnls_lower('ABC')“test”,nls_lower(‘ABC’,’nls_sort=
SCHINESE_PINYIN_M’)“test1”fromdual;2.12、NLSSORT(col,[’nls_param’])函数
描述:根据nls_param指定的方式对col字段进行排序。
Examples:SELECTpart_numberFROMcux_om_part_allORDERBY
nlssort(part_number,'nls_sort=SCHINESE_RADICAL_M')2.13、NLS_UPPER(chr,[‘nls_param’])函数
描述:将chr转换为大写。Nls_param可选,用于指定排序规则
Examples:SELECTnls_upper('ddddd','nls_sort=xdanish')FROMdual2.14、
REGEXP_REPLACE(source_string,pattern,replace_string,posi
tion,occurtence,match_parameter)函数(10g新函数)
描述:字符串替换函数。相当于增强的replace函数。Source_string指定源字符表达式;pattern
指定规则表达式;replace_string指定用于替换的字符串;position指定起始搜索位置;occurtence
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, minus
select * 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 两位年 显⽰值:07
yyy three digits 三位年 显⽰值:007
yyyy four digits 四位年 显⽰值:2007
orcle 炸裂函数
orcle 炸裂函数
在 Oracle 数据库中,`SPLIT`函数用于将一个字符串按照指定的分隔符拆分成一个数组。它的语法如下:
```sql
SPLIT(string, pat)
```
其中,`string`是要拆分的字符串,`pat`是分隔符。示例如下:
```sql
SELECT SPLIT('str1,str2,str3', ',') FROM dual;
```
上述代码会将字符串`str1,str2,str3`拆分为三个元素存入数组中并返回。
除了`SPLIT`函数,`SUBSTR`函数可以从一个字符串中截取子字符串。它的语法如下:
```sql
SUBSTR(string, start_position, length)
```
其中,`string`是要截取的字符串,`start_position`是截取的起始位置,从 1 开始。`length`是要截取的字符数。示例如下:
```sql
SELECT SUBSTR('Oracle Database', 8, 8) FROM dual;
```
上述代码会从字符串`Oracle Database`的第 8 个字符开始截取 8 个字符并返回。
以上就是在 Oracle 数据库中常用的字符串函数:`SPLIT`函数和`SUBSTR`函数的介绍和使用示例。
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函数:用于获取系统当前时间,比如SELECT SYSDATE FROM DUAL会返回系统当前时间。
3. TO_CHAR()函数:用于将日期转换成字符型,比如TO_CHAR(SYSDATE,'yyyy-mm-dd')会返回当前日期的年月日格式。
oracledatediff函数创建
一、介绍Oracle DateDiff函数
Oracle DateDiff函数是用来计算两个日期之间的差值的函数。它可以用来计算年、月、日、小时、分钟和秒之间的差值。这个函数在Oracle数据库中非常常用,特别是在需要计算日期间隔的业务逻辑中。
二、DateDiff函数的语法和用法
下面是Oracle DateDiff函数的基本语法:
```SQL
SELECT DateDiff(unit, start_date, end_date) AS date_difference
FROM dual;
```
其中,unit参数是指需要计算的时间间隔单位,可以是'year'、'month'、'day'、'hour'、'minute'或'second';start_date和end_date分别是需要进行计算的起始日期和结束日期。
在实际应用中,可以通过以下方式来使用DateDiff函数:
1. 计算两个日期之间的年份间隔:
```SQL
SELECT DateDiff('year', '1990-01-01', '2020-12-31') AS
year_difference
FROM dual;
``` 这条SQL语句将返回"30",表示1990年1月1日到xxx之间相隔了30年。
2. 计算两个日期之间的月份间隔:
```SQL
SELECT DateDiff('month', '2020-01-01', '2020-12-31') AS
month_difference
FROM dual;
```
这条SQL语句将返回"11",表示2020年1月1日到xxx之间相隔了11个月。
3. 计算两个日期之间的天数间隔:
```SQL
SELECT DateDiff('day', '2020-01-01', '2020-12-31') AS
day_difference
FROM dual;
```
这条SQL语句将返回"365",表示2020年1月1日到xxx之间相隔了365天。
oracle的count函数
oracle的count函数
Oracle的COUNT函数是用于统计某个列或表达式的非空行数。它可以在SELECT语句中使用,也可以用于GROUP BY子句中进行分组计数。COUNT函数有以下几种使用方式:
1. 统计表中所有行的数量:
COUNT(*)函数可以统计表中所有行的数量,包括空行和重复行。它的语法如下:
```sql
SELECT COUNT(*) FROM 表名;
```
要统计名为"employees"的表中所有行的数量,可以使用以下语句:
```sql
SELECT COUNT(*) FROM employees;
```
2. 统计某个列的非空值数量:
COUNT(column_name)函数可以统计某个列中非空值的数量。它的语法如下:
```sql
SELECT COUNT(column_name) FROM 表名; ```
要统计名为"employees"表中"salary"列非空值的数量,可以使用以下语句:
```sql
SELECT COUNT(salary) FROM employees;
```
3. 统计满足条件的行数:
COUNT函数还可以结合WHERE子句来统计满足条件的行数。它的语法如下:
```sql
SELECT COUNT(*) FROM 表名 WHERE 条件;
```
要统计名为"employees"表中工资大于5000美元的员工数量,可以使用以下语句:
```sql
SELECT COUNT(*) FROM employees WHERE salary > 5000;
```
4. 分组统计:
COUNT函数还可以与GROUP BY子句一起使用,用于分组统计。它的语法如下:
```sql SELECT column_name, COUNT(*) FROM 表名 GROUP BY
oraclemin函数用法
oraclemin函数用法
Oracle数据库中的MIN函数用于返回指定表达式的最小值。它可以用于数字、日期和字符类型的列。本文将详细介绍Oracle的MIN函数的用法,包括语法、示例和一些常见问题的解答。
语法:
MIN(expr)
参数说明:
- expr: 表达式是用于计算最小值的列、表达式、常量或者一个子查询。
返回值类型:
-与表达式的数据类型一致。
示例:
1.返回数字列的最小值
假设我们有一张名为employees的表,其中包含了员工的工号(emp_id)和工资(salary)信息。我们可以使用MIN函数来找到工资最低的员工:
SELECT MIN(salary) FROM employees;
这个查询将返回工资最低的员工的工资。
2.返回字符列的最小值 我们还可以使用MIN函数来找到一个字符类型的列的最小值。比如,我们有一张名为products的表,其中包含了产品的名称(product_name)信息。我们可以使用MIN函数来找到字典顺序最小的产品名称:
SELECT MIN(product_name) FROM products;
这个查询将返回字典顺序最小的产品名称。
3.返回日期列的最小值
类似地,我们可以使用MIN函数来找到一个日期类型的列的最小值。假设我们有一张名为orders的表,其中包含了订单的日期(order_date)信息。我们可以使用MIN函数来找到最早的订单日期:
SELECT MIN(order_date) FROM orders;
这个查询将返回最早的订单日期。
注意事项:
-如果要找到多个列的最小值,可以使用多个MIN函数嵌套在一起。比如,要找到所有部门中最低工资的员工,可以使用以下查询:
SELECT MIN(salary) FROM employees WHERE dept_id = 1;
-如果要找到最小值并且同时获取其他列的信息,可以使用子查询。例如,要找到拥有最低工资的员工的名称和工资信息,可以使用以下查询:
oracle截取字符函数公式
- 1 - oracle截取字符函数公式
Oracle截取字符函数可以用来提取字符串中指定的一段字符或子字符串。它可以根据指定的开始位置和结束位置来截取字符串,也可以根据指定的长度来截取。下面是常用的Oracle截取字符函数公式:
1. SUBSTR函数
SUBSTR函数用于截取字符串中指定的一段字符或子字符串。它的语法格式如下:
SUBSTR(string, start, length)
其中,string是需要截取的字符串,start是开始截取的位置,length是需要截取的长度。如果不指定length,则会截取从start位置开始到字符串末尾的所有字符。例如:
SELECT SUBSTR('Hello World!', 7, 5) FROM DUAL;
结果为: World
2. INSTR函数
INSTR函数用于查找字符串中指定子字符串的位置。它的语法格式如下:
INSTR(string, search_string, start, occurrence)
其中,string是需要查找的字符串,search_string是需要查找的子字符串,start是开始查找的位置,occurrence是需要查找的第几个子字符串。如果不指定start和occurrence,则默认从字符串的第一个字符开始查找第一个子字符串。例如: - 2 - SELECT INSTR('Hello World!', 'o', 2, 1) FROM DUAL;
结果为: 5
3. LEFT函数
LEFT函数用于截取字符串中指定长度的左侧字符。它的语法格式如下:
LEFT(string, length)
其中,string是需要截取的字符串,length是需要截取的长度。例如:
SELECT LEFT('Hello World!', 5) FROM DUAL;
oracle常用函数trunc用法
oracle常用函数trunc用法
Oracle中的TRUNC函数有多种用法,它主要用于截取日期、数值和字符串类型的数据。下面将介绍常用的几种TRUNC函数的用法。
1.日期截取:
TRUNC函数可以从一个日期表达式中截取出指定的部分,如年、月、日、小时、分钟等。
- TRUNC(date, 'YEAR'):截取日期表达式的年份部分,将月、日、时、分和秒均截取掉,返回结果为该年的1月1日的日期。例如:SELECT
TRUNC(SYSDATE, 'YEAR') FROM DUAL;
- TRUNC(date, 'MONTH'):截取日期表达式的月份部分,将日、时、分和秒截取掉,返回结果为该月的1日的日期。例如:SELECT
TRUNC(SYSDATE, 'MONTH') FROM DUAL;
- TRUNC(date, 'DD'):截取日期表达式的日部分,将时、分和秒截取掉,返回结果为当天的日期。例如:SELECT TRUNC(SYSDATE, 'DD')
FROM DUAL;
2.数值截取:
TRUNC函数可以截取出数值的整数部分或指定的小数位数,并将小数部分舍去。
- TRUNC(number):截取出数值的整数部分,例如:SELECT
TRUNC(3.14) FROM DUAL; -- 结果为3;
3.字符串截取: TRUNC函数还可以用于截取字符串的指定长度。
- TRUNC(string, n):截取字符串的前n个字符。例如:SELECT
TRUNC('Hello world', 5) FROM DUAL; -- 结果为'Hello';
以上是TRUNC函数的一些常用用法,下面再介绍一些更高级的用法:
4.日期计算:
TRUNC函数可以与其他日期函数结合使用,实现日期的计算。
- TRUNC(date, 'YYYY') + 1:计算出下一年的1月1日的日期。例如:SELECT TRUNC(SYSDATE, 'YYYY') + 1 FROM DUAL;
oracle 多个字段数值比较函数
oracle 多个字段数值比较函数
摘要:
1.Oracle 多个字段数值比较函数概述
2.Oracle 中可用于多个字段数值比较的函数
3.使用示例:多个字段数值比较
正文:
【1.Oracle 多个字段数值比较函数概述】
在 Oracle 中,有时我们需要对多个字段的数值进行比较。为了实现这一目标,Oracle 提供了一些内置函数,可以帮助我们轻松地实现多个字段数值的比较。在这篇文章中,我们将介绍如何使用这些函数来比较多个字段的数值。
【2.Oracle 中可用于多个字段数值比较的函数】
在 Oracle 中,有几个函数可以用于多个字段数值的比较。以下是一些常用的函数:
1.`GREATEST()`:返回一组数值中的最大值。
2.`LEAST()`:返回一组数值中的最小值。
3.`MAX()`:返回一组数值中的最大值。
4.`MIN()`:返回一组数值中的最小值。
【3.使用示例:多个字段数值比较】
假设我们有一个名为 "emp" 的表,其中包含 "empno"、"mgr"、"sal"
三个字段,我们希望找出这三个字段中的最大值和最小值。可以使用以下查询语句来实现: ```
SELECT empno, mgr, sal,
GREATEST(empno, mgr, sal) max_value,
LEAST(empno, mgr, sal) min_value
FROM emp;
```
上述查询语句将返回一个结果集,其中包括 "empno"、"mgr"、"sal" 三个字段的最大值和最小值。
需要注意的是,`GREATEST()` 和 `LEAST()` 函数可以接受两个或多个字段作为参数。在使用这些函数时,请确保参数的数量与函数定义中的字段数量相匹配。
总之,Oracle 提供了一些非常有用的函数,可以帮助我们轻松地实现多个字段数值的比较。
oracle的sign函数
oracle的sign函数
Oracle的sign函数是一种常用的数学函数,用于返回给定数值的符号信息。在Oracle数据库中,sign函数的语法形式为SIGN(n),其中n为一个数值参数。当n大于0时,sign函数返回1;当n等于0时,sign函数返回0;当n小于0时,sign函数返回-1。下面将详细介绍sign函数的用法和应用场景。
sign函数可以帮助我们在数据库中对数据进行符号判断和处理。例如,我们可以使用sign函数来判断一个数值字段的正负情况,从而进行相应的逻辑处理。比如,我们可以通过sign函数将正数和负数分别计算出来,然后进行不同的计算或显示。这在一些统计和分析类的业务中非常有用。
sign函数还可以用于排序和分组操作。通过在SQL语句中使用sign函数,我们可以实现按照数值的正负情况对数据进行排序,或者对数据进行分组。这在一些需要对数据进行特定顺序排列或分组展示的场景中非常实用。
sign函数还可以用于条件判断和逻辑运算。我们可以结合sign函数和其他逻辑函数,来实现复杂的条件判断和逻辑运算。比如,我们可以通过sign函数判断两个数值字段的符号是否相同,然后进行相应的处理。
需要注意的是,在使用sign函数时,要确保传入的参数类型符合函数的定义,否则可能会出现错误。另外,要注意sign函数返回的结果只有三种可能性(1、0、-1),需要根据具体业务逻辑进行合理的处理。
Oracle的sign函数是一种非常实用的数学函数,在数据库开发和数据处理中有着广泛的应用。通过灵活运用sign函数,我们可以实现对数据的符号判断、排序分组、条件判断等多种操作,从而更好地满足业务需求。希望本文能够帮助读者更好地理解和应用Oracle的sign函数。
