Oracle中常用的函数与表达式

合集下载

oracle 条件函数

oracle 条件函数

oracle 条件函数

Oracle条件函数是Oracle数据库中一种强大的功能,它能够根据特定的条件来返回相应的结果。通过使用条件函数,用户可以更灵活地处理和过滤数据,实现更精确的查询和分析。本文将介绍一些常用的Oracle条件函数,并探讨它们的用法和特点。

一、CASE函数

CASE函数是Oracle中最常用的条件函数之一。它的作用是根据一个或多个条件来返回不同的结果。CASE函数有两种形式:简单CASE函数和搜索CASE函数。

1. 简单CASE函数

简单CASE函数基于一个表达式的值来判断条件,并返回相应的结果。它的语法如下:

CASE expression

WHEN value1 THEN result1

WHEN value2 THEN result2

...

ELSE result

END

其中,expression是一个表达式,value1、value2等是该表达式

可能的值,result1、result2等是对应的结果。

例如,我们可以根据学生的成绩段来给予不同的评价:

SELECT name,

CASE

WHEN score >= 90 THEN '优秀'

WHEN score >= 80 THEN '良好'

WHEN score >= 60 THEN '及格'

ELSE '不及格'

END AS evaluation

FROM students;

2. 搜索CASE函数

搜索CASE函数不依赖于一个表达式,而是根据一系列条件来匹配并返回相应的结果。它的语法如下:

CASE

WHEN condition1 THEN result1

Oracle中数值的计算

Oracle中数值的计算

Oracle中数值的计算

在Oracle数据库中,数值的计算是数据库操作中的一个重要方面。Oracle提供了丰富的数值计算函数和操作符,可以进行各种数学运算和

表达式计算。下面将介绍一些常见的数值计算方法和技巧。

1. 算术运算符:Oracle支持标准的算术运算符,包括加法(+)、

减法(-)、乘法(*)和除法(/)。这些运算符可以用于对数值进行基

本的四则运算。例如:

```sql

SELECT 10 + 5 FROM dual; -- 输出结果为 15

SELECT 10 - 5 FROM dual; -- 输出结果为 5

SELECT 10 * 5 FROM dual; -- 输出结果为 50

SELECT 10 / 5 FROM dual; -- 输出结果为 2

```

2. 比较运算符:除了基本的算术运算符,Oracle也支持比较运算符,可以对数值进行比较操作。常见的比较运算符包括等于(=)、不等于(<>)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。例如:

```sql

SELECT 10 > 5 FROM dual; -- 输出结果为 1(表示为真)

SELECT 10 < 5 FROM dual; -- 输出结果为(表示为假)

SELECT 10 = 5 FROM dual; -- 输出结果为(表示为假)

```

3. 数学函数:Oracle提供了许多数学函数,可以进行更复杂的数值计算。

oracle常用运算表达式

oracle常用运算表达式

oracle常用运算表达式

1.

Oracle数据库是一种关系型数据库管理系统(RDBMS),广泛应用于企业级应用中。在数据库查询和数据处理中,使用运算表达式是非常常见的操作。本文将介绍一些在Oracle中常用的运算表达式,包括数学运算、字符串操作、日期运算等,帮助读者更好地理解和使用Oracle 数据库。

2. 数学运算

2.1. 加法(+)

加法运算是最基本的数学运算之一,在Oracle中使用加号进行相加操作。

sqlSELECT salary +bonus AS total_income

FROM employees;

2.2. 减法(-)

减法运算用于计算两个数值的差。

sqlSELECT total_sales -expenses AS net_profit

FROM financial_data;

2.3. 乘法(*)

乘法运算用于计算两个数值的乘积。

sqlSELECT quantity *unit_price AS total_cost

FROM orders;

2.4. 除法(/)

除法运算用于计算两个数值的商。

sqlSELECT revenue /number_of_customers AS average_revenue_per_customer FROM sales_data;

2.5. 取余(MOD)

取余运算返回两个数相除的余数。

sqlSELECT MOD(total_items, 5) AS remainder

FROM inventory;

3. 字符串操作

3.1. 字符串连接(||)

字符串连接运算符用于将两个字符串连接在一起。

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;

oracle函数用法

oracle函数用法

Oracle函数用法

1.

sql函数

包括单行函数和多行函数,其中单行函数是指输入一行输出也是一行的函数;多行函数也被称为分组函数,它会根据输入的多行数据输出一个结果。

一数字函数

1.CEIL(n):该函数用于返回大于等于数字n的最小整数,示例如下:

2.FLOOR(n):该函数用于返回小于等于数字n的最大整数,示例如下:

3.MOD(m,n):该函数用于取得两个数字相除后的余数,如果数字n 为0,则返回结果为m,示例如下:

4.ROUND(n,[m]):该函数用于执行四舍五入运算,示例如下:

如果省略m,则四舍五入至整数位:

如果m是负数,则四舍五入到小数点前m位:

如果m是正数,则四舍五入至小数点后m位:

5.TRUNC(n,[m]):该函数用于截取数字,

如果省略数字m,则将数字n的小数部分截去:

如果数字m是正数,则将数字n截取至小数点后的第m位:

如果数字m是负数,则将数字n截取至小数点的前m位:

6.SIGN(n):该函数用于检测数字的正负,

如果数字n小于0,则函数的返回值为-1;

如果数字n等于0,则函数的返回值为0;

如果数字n大于0,则函数的返回值为1

7.ABS(n):该函数用于返回数字n的绝对值,请看示例:

8.SIN(n):该函数用于返回数字n(以弧度表示的角)的正弦值,示例如下:

9.COS(n):该函数用于返回数字n(以弧度表示的角度值)的余弦值。

10.ASIN(n):该函数用于返回数字n的反正弦值,输入值的范围是-1~1,输出值的单位为弧度,示例如下:

11.ACOS(n):该函数用于返回数字n的反余弦值,输入值的范围是-1~1,输出值的单位为弧度,示例如下:

oracle统计个数的函数

oracle统计个数的函数

oracle统计个数的函数

Oracle是一种常用的关系型数据库管理系统,它提供了丰富的函数和工具来处理和分析数据。其中,统计个数的函数是Oracle中非常常用的一种函数,它可以帮助我们快速准确地统计某个字段或某个条件下的数据个数。

在Oracle中,统计个数的函数有很多种,常用的有COUNT、COUNT(*)、COUNT(DISTINCT)等。下面我将分别介绍这几种函数的用法和特点。

首先是COUNT函数,它是最常用的统计个数的函数之一。COUNT 函数的语法是COUNT(expression),其中expression可以是一个字段、一个表达式或一个常量。COUNT函数会统计expression不为NULL的记录个数,并返回结果。例如,我们可以使用COUNT函数统计一个表中某个字段不为NULL的记录个数:

SELECT COUNT(column_name) FROM table_name;

接下来是COUNT(*)函数,它是COUNT函数的一种特殊形式。COUNT(*)函数会统计表中所有记录的个数,不管记录中的字段是否为NULL。这个函数比较常用,特别是在需要统计整个表的记录个数时。例如,我们可以使用COUNT(*)函数统计一个表中所有记录的个数:SELECT COUNT(*) FROM table_name;

最后是COUNT(DISTINCT)函数,它用于统计某个字段的不重复值的个数。COUNT(DISTINCT)函数的语法是COUNT(DISTINCT

expression),其中expression是一个字段或一个表达式。

oracle中基本函数

oracle中基本函数

oracle中基本函数

Upper

SELECT Upper ('abcde') FROM dual 结果:ABCDE

Lower

SELECT lower('ABCDE') FROM dual 结果:abcde

Initcap

SELECT Initcap ('AAA') FROM dual 结果:Aaa

SELECT Initcap ('aaa') FROM dual 结果:Aaa

Concat

SELECT Concat ('a', 'b') FROM dual 结果:ab

Select 'a' || 'b' from dual 结果:ab

Substr

Select substr('abcde',0,3) from dual 结果:abc

Select substr('abcde',-2,3) from dual 结果:de

第二个参数为字符串的第几位,默认从0开始。当为负数时,是从右侧开始。第三个参数为要取得字符串的总长度。

Length

Select length('abcde') from dual 结果:5

Replace

Select replace('abcde','a','A') from dual 结果:Abcde

Instr

返回指定一字符串在另一字符串中最先显现的位置。在字符串string1中,从start开始找string2,省略start时从string1头开始找。找不到时,函数值为0。

INSTR(char1,char2,start,times):在char1字符串中搜索char2字符串,start为执行搜索的起始位置,times为搜索次数。

oracle中nvldecodetrimrtrim的常见用法

oracle中nvldecodetrimrtrim的常见用法

oracle中nvldecodetrimrtrim的常见用法在Oracle中,nvl、decode、trim和rtrim是四个常用的函数,用于在查询和处理数据时进行转换和处理。下面是它们的常见用法的详细介绍。

1.NVL函数:

NVL函数用于将一个表达式替换为另一个表达式,如果第一个表达式为空(null),则将返回第二个表达式。它的常见用途包括处理空值和默认值的设置。

语法:NVL(expr1, expr2)

示例:

SELECT NVL(name, 'Unknown') as student_name FROM students;

上述例子中,如果name列的值为null,将会显示为'Unknown'。2.DECODE函数:

DECODE函数用于根据给定条件对表达式进行条件分支判断,并返回相应的结果。它可以实现简单的if-else逻辑判断。

语法:DECODE(expr, search1, result1, search2, result2, ..., default)

示例:

SELECT DECODE(score, 90, 'A', 80, 'B', 70, 'C', 'D') as grade FROM students;

上述例子中,根据score列的值,返回相应的成绩等级。

3.TRIM函数:

TRIM函数用于去除字符串首尾的空格,或者指定的字符。它可以用

于数据清理和格式控制。

语法:

TRIM([leading , trailing , both] [trim_character] from source_string)

oracle中regexp_substr的用法

oracle中regexp_substr的用法

oracle中regexp_substr的用法

在Oracle中,REGEXP_SUBSTR是一个正则表达式函数,用于从字符串中提取匹配指定模式的子字符串。该函数的语法如下:

REGEXP_SUBSTR(string, pattern, position, occurrence, flags)

参数说明:

- string:要搜索的字符串。

- pattern:匹配的正则表达式模式。

- position:从string中开始搜索的位置。默认值为1。

- occurrence:指定要返回的匹配子字符串的序号。默认值为1。

- flags:指定匹配模式的标志。可选参数有'c' (大小写不敏感)和'i' (大小写敏感)。

示例:

1. 提取字符串中的第一个单词:

SELECT REGEXP_SUBSTR('Hello World', '[A-Za-z]+', 1, 1)

FROM dual;

结果:'Hello'

2. 提取字符串中的第二个单词:

SELECT REGEXP_SUBSTR('Hello World', '[A-Za-z]+', 1, 2) FROM dual;

结果:'World'

3. 提取字符串中的数字:

SELECT REGEXP_SUBSTR('abc123def456', '\d+')

FROM dual;

结果:'123'

4. 提取字符串中的邮箱地址:

SELECT REGEXP_SUBSTR('user@example', '\w+@\w+\.\w+') FROM dual;

结果:'user@example'

oracle语法及函数大全

oracle语法及函数大全

--数据操作

SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行

DELETE --从数据库表中删除数据行

UPDATE --更新数据库表中的数据

--数据定义

CREATE TABLE --创建一个数据库表

DROP TABLE --从数据库中删除表

ALTER TABLE --修改数据库表结构

CREATE VIEW --创建一个视图

DROP VIEW --从数据库中删除视图

CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引

CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器

DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域

ALTER DOMAIN --改变域定义

DROP DOMAIN --从数据库中删除一个域

--数据控制

GRANT --授予用户访问权限

DENY --拒绝用户访问

REVOKE --解除用户访问权限

--事务控制

COMMIT --结束当前事务

ROLLBACK --中止当前事务

SET TRANSACTION --定义当前事务数据访问特征--程序化SQL

DECLARE --为查询设定游标

EXPLAN --为查询描述数据访问计划

OPEN --检索查询结果打开一个游标

oracle 方差函数

oracle 方差函数

Oracle 方差函数

介绍

方差是描述随机变量离散程度的一种度量,用于衡量数据的离散程度或分散程度。Oracle数据库提供了方差函数(VAR)来计算给定数据集的方差。本文将详细介绍Oracle方差函数的使用方法和示例。

方差函数的语法

方差函数的语法如下:

VAR(expression, [sample_size],[all_rows_clause])

参数解释: - expression:需要计算方差的表达式或列名。 - sample_size(可选):指定用于计算方差的样本大小。 - all_rows_clause(可选):指定方差函数是否应考虑所有行,而不仅仅是非空行。

方差函数的用途

方差函数在统计分析和数据挖掘中具有广泛的用途,例如:评估数据的离散程度,检测异常值,计算回归模型的误差等。

方差函数的示例

以下是一些使用Oracle方差函数的示例:

示例 1:计算给定列的方差

假设我们有一个包含员工薪水的表格employees,我们可以使用方差函数来计算薪水的方差:

SELECT VAR(salary) AS salary_variance

FROM employees;

这将返回薪水列的方差。

示例 2:计算给定表达式的方差

我们也可以使用方差函数来计算基于表达式的方差。假设我们有一个包含学生成绩的表格students,其中包含各科目的成绩和权重。我们可以使用方差函数来计算加权平均分的方差:

SELECT VAR(score*weight) AS weighted_score_variance

FROM students;

oracle常用函数汇总

oracle常用函数汇总

oracle常用函数汇总

篇一:oracle常用函数总结

常用的SQL语句语法(Oracle版)

一.数据控制语句(DML)部分

1.INSERT(往数据表里插入记录的语句)

INSERTINTO表名(字段名1,字段名2,……)VALUES(值1,值2,……);INSERTINTO表名(字段名1,字段名2,……)SELECT字段名1,字段名2,……FROM另外的表名;

字符串类型的字段值必须用单引号括起来,例如:’GOODDAY’

如果字段值里包含单引号’需要进行字符串转换,我们把它替换成两个单引号''.字符串类型的字段值超过定义的长度会出错,最好在插入前进行长度校验.日期字段的字段值可以用当前数据库的系统时间SYSDATE,精确到秒

或者用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)TO_DATE()还有很多种日期格式,可以参看ORACLEDOC.

年-月-日小时:分钟:秒的格式YYYY-MM-DDHH24:MI:SS

INSERT时最大可操作的字符串长度小于等于4000个单字节,如果要插入更长的字符串,请考虑字段用CLOB类型,

方法借用ORACLE里自带的DBMS_LOB程序包.

INSERT时如果要用到从1开始自动增长的序列号,应该先建立一个序列号

CREATESEQUENCE序列号的名称(最好是表名+序列号标

记)INCREMENTBY1STARTWITH1

MAXVALUE99999CYCLENOCACHE;

其中最大的值按字段的长度来定,如果定义的自动增长的序列号NUMBER(6),最大值为999999

oracle数字函数(共22个)

oracle数字函数(共22个)

oracle数字函数

dual是一个"伪表",可以用来测试函数和表达式。

1、Round:四舍五入

Round(45.926,2)→45.93

Round(45.923,0)保留整数位,结果是46。

Round(45.923,-1)取整数位的第二位。就是取十位,结果是50。

Round(45.923,-2)取整数位的第三位。就是取百位,结果为0。

2、Trunc:数字截断

Trunc(45.926,2)→45.92

语法: TRUNC(x[,y])

功能: 计算截尾到y位小数的x值. y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到小数点左边对应的位上.

说明:该函数可以指定截取的位数,当不指定截取位时,它只截取小数占左边的数字。

3、Mod:求余

语法: MOD(x,y)

功能: 返回x除以y的余数.如果y是0,则返回x

Mod(1600,300)→100

4、ABS

语法: ABS(x)

功能: 得到x的绝对值.

SQL> select abs(1) a,abs(0) b,abs(-1) c,abs(-0.1) d from dual

A B C D

---------- ---------- ---------- ----------

1 0 1 .1

5、CEIL

语法: CEIL(x)

功能: 计算大于或等于x的最小整数值.

SQL> select ceil(0.3) a,ceil(0.5) b,ceil(0.8) c,ceil(0) d from dual

A B C D

---------- ---------- ---------- ----------

orcal中decode函数

orcal中decode函数

orcal中decode函数

Oracle中的decode函数是一种常用的条件表达式函数,可以根据指定的条件将一个或多个值进行转换。在本文中,将详细介绍decode函数的语法、用法以及一些实际的应用案例。

一、decode函数的语法和用法

1. 语法:

decode(expr, value1, result1, value2, result2, ..., default_result)

2. 参数说明:

- expr:需要进行判断的表达式或列名。

- value1:当expr等于value1时,返回result1。

- result1:当expr等于value1时,返回的结果。

- value2:当expr等于value2时,返回result2。

- result2:当expr等于value2时,返回的结果。

- default_result:当expr不等于任何value时,返回的默认结果。

3. 示例:

decode(1, 1, 'one', 2, 'two', 'other'),返回结果为'one'。

二、实际应用案例

1. 将数字转换为对应的中文数字

假设有一张包含数字的表,现在需要将数字转换为对应的中文数字。可以使用decode函数来实现:

SELECT num, decode(num, 1, '一', 2, '二', 3, '三', '其他') AS chinese_num FROM number_table;

2. 根据成绩判断等级

假设有一张学生成绩表,现在需要根据学生的成绩判断其等级,可以使用decode函数来实现:

oracle中常用的函数

oracle中常用的函数

oracle中常用的函数

1. (,,):从指定位置开始向后截取指定长度的子串。

2. (,):返回子串在字符串中首次出现的位置。如果子串未找到返回0。

3. ():返回字符串长度。

4. ([ _] ):去除字符串头尾部分的空格或其他字符。

5. (,[,]):用指定的填充字符填充字符串在指定长度时不足部分。

6. (,[,]):用指定的填充字符填充字符串在指定长度时不足部分。

7. ([,]):四舍五入指定数字。

8. ([,]):截断指定小数位数的数字。

9. (,):求余函数。

10. (_,):求幂函数。

11. ():求平方根。

12. _([,]):数字转字符串。

13. _(_[,],[_]):字符串转日期。

14. :返回当前系统日期时间。

15. _(1,2):计算两个日期之间的月份数。

oracle语句中if函数的使用方法

oracle语句中if函数的使用方法

oracle语句中if函数的使用方法

Oracle数据库中的IF函数是一种条件函数,用于根据给定的条件,返回不同的结果。它的基本语法如下:

IF(condition, true_result, false_result)

其中,condition是一个逻辑表达式,true_result是当条件为真时返回的值,false_result是当条件为假时返回的值。下面是一些使用IF函数的示例:

1. 示例一:判断一个数字是否为正数

```

SELECT IF(num > 0, '正数', '非正数') AS result

FROM table_name;

```

在上述示例中,如果num大于0,则返回'正数',否则返回'非正数'。

2. 示例二:根据成绩判断学生的等级

```

SELECT student_name, IF(score >= 90, '优秀', IF(score >= 80, '良好', IF(score >= 60, '及格', '不及格'))) AS grade

FROM student_scores;

```

在上述示例中,根据学生的成绩判断其等级,如果成绩大于等于90,则返回'优秀',如果成绩大于等于80,则返回'良好',如果成绩大于等于60,则返回'及格',否则返回'不及格'。

3. 示例三:根据性别给员工加薪

```

UPDATE employee

SET salary = IF(gender = '男', salary * 1.1, salary * 1.2) WHERE department = '销售部';

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

2. 将日期型转换为字符串
select to_char(sysdate, 'yyyy-mm-dd') result from dual; select to_char(sysdate, 'YYYY-MON-DD') from dual;
14.1.13
chr()函数——将ascii码转换为字 符串
chr()函数用于将ascii码转换为字符串。通过chr()函数 ,可以对不宜直接输入的字符进行操作。例如,将回车换行 符插入到数据中。 insert into test_data values (6, '周林 '||chr(13)||chr(10)|'梁军', 20);
对其其他数据类型,照样可以通过length()函数来获得 其长度。length()函数会首先将参数转换为字符串,然后计 算其长度。 select length(12.51) from dual;
14.1.7
substr()函数——截取字符串
substr()函数用于截取字符串。该函数可以指定截取的 起始位置,截取长度,可以实现灵活的截取操作,因此,成 为字符串操作中最常用的函数之一。 例如,对于字符串“1234567890”,现欲截取自第5位 开始的4个字符。 select substr('1234567890', 5, 4) from dual; 需要注意的是,Oracle中字符位置从1开始,而不是像 某些编程语言(如Java)那样从0开始。 如果不指定长度,那么substr()函数将获取起始位置参 数至字符串结尾处的所有字符。 select substr('1234567890', 5) from dual;
14.2.5
mod ()函数——取模操作
mod()函数有两个参数,第一个参数为被除数,第二个 参数为除数。mod()函数的实际功能为获得两数相除之后的 余数。 select mod(5,2) result from dual;
14.2.6
sign()函数——返回数字的正负性
sign()函数只有一个参数。该函数将返回参数的正负性 。若返回值为1,表示该参数大于0;若返回值为-1,表示该 参数小于0;若返回值为0,表示该参数等于0。 select sign(8) result from dual; select sign(-8) result from dual; select sign(0) result from dual; sign()函数为判断两个数值的大小关系提供了方便。因 为在oracle中,利用类似if else的结构来判断两个数值之间 的大小关系,并不像编程语言中那样方便,而且极易造成代 码的复杂化。
select ceil(-21.897) result from dual;
因为ceil()函数返回的是大于等于参数的最小整数,所 以,该函数返回的并非-22,而是-21。
14.2.4
floor()函数——向下取整
与ceil函数相反,floor()函数用于返回小于等于某个数 值的最大整数。 select floor(21.897) result from dual; select floor(-21.897) result from dual;
select round(2745, -1) result from dual;
14.2.3
ceil()函数——向上取整
ceil()函数只能有一个参数。该函数将参数向上取整, 以获得大于等于该参数的最小整数。 select ceil(21.897) result from dual;
需要注意的是该函数针对负数的运算:
select to_char(120, '99999') result from dual; select to_char(0.96, '9.99') result from dual; select to_char(0.96, '0.00') result from dual; select to_char(5897.098, '999,999,999.000') result from dual; select to_char(5987.098, '$999,999,999.000') result from dual;
第14章
Oracle中的函数与表达式


Oracle中的聚合函数;
Oracle中的运算表达式;


Oracle中的特殊判式;
Oracle中的高级函数——分析函数与窗口函数。
14.1
Oracle中的字符串函数
Oracle提供了丰富的字符串函数,本小节将通过实例 讲述Oracle中各字符串函数的使用。
14.2
Oracle中的数学函数
Oracle提供的数学函数可以处理日常使用到的大多数 数学运算。本小节将讲述Oracle中常用的几种数学函数。
14.2.1
abs ()函数——返回数字的绝对值
abs()函数的参数只能是数值型,该参数用于返回参数 的绝对值。
select abs(-2.1) from dual;
需要注意的是,空白符不仅仅包括了空格符,还包括 TAB键、回车符和换行符。
14.1.10
rtrim()函数——删除字符串尾部空 格
rtrim()中的r代表right。该函数用于删除字符串右端空 白符。删除字符串首尾空白符可以结合使用ltrm()和rtrim() 函数。 select rtrim(ltrim(' abc ')) from dual;
14.1.3
lower()函数——返回小写字符串
lower()函数用于返回字符串的小写形式。lower()函数 在查询语句中经常扮演重要角色。例如,对于用户名和密码 的校验来说,用户名一般并不区分大小写,用户无论输入了 大写还是小写形式,都被认为是合法用户。因此,在数据库 查询时,应该将数据库中用户名与用户输入的用户名进行统 一。
select * from test_data where id = 6;
14.1.14
translate()函数——替换字符
translate()函数用于替换字符串。替换的规则类似于翻 译的过程。 select translate('56338', '1234567890', 'avlihemoqr') result from dual; 需要注意的是,当字符不能被成功“翻译”,那么, Oracle将使用空字符替换它。利用此特性,可以使用 translate()函数来删除一个含有数字和英文字母的字符串中 的所有字母: select translate('21343yuioioizf899dasiwpe58595oda0j098', '#abcdefghijklmnopqrstuvwxyz',' ') reulst from dual;
14.1.5
initcap ()函数——单词首字母大写
initcap()函数将单词的首字母大写。 select initcap('big') from dual; 需要注意的是,initcap()函数不能自动识别单词 select initcap('bigbigtiger') from dual; initcap()函数会将参数中的非单词字符作为单词分隔符 select initcap('big_big_tiger') from dual; select initcap('big/big/tiger') from dual; select initcap('big big tiger') from dual;
14.2.2
round ()函数——返回数字的“四舍 五入”值
round()函数用于返回某个数字的四舍五入值。为了使 用该函数,除了提供原始值之外,还应提供精确到的位数。 精确位数可以为正整数、0和负整数。 select round(2745.173, 2) result from dual; 如果不使用第二个参数,那么,相当于使用了参数0, 即精确到整数。 select round(2745.173) result from dual; 如果第二个参数为负数,那么,相当于将数值精确到 小数点之前的位数。
select user_id, user_name from t_users where lower(user_name) = lower('Alex');
14.1.4
upper()函数——返回大写字符串
upper()函数用于返回字符串的大写形式。与lower()函 数类似,upper()函数也可以用在查询语句中,以统一数据 来自百度文库和查询条件的一致性。 select user_id, user_name from t_users where upper(user_name) = upper('ALEX'); 注意与说明:upper()函数和lower()函数只针对英文字 符其作用,因为只有英文字符才有大小写之分。
14.1.6
length()函数——返回字符串长度
length()函数用于返回字符串的长度。 select length('abcd ') from dual;
空字符串的长度不是0,而是null。因为空字符串被视 作null,所以,length(null)返回的仍然是null。 select length('') from dual;
14.1.8
instr()函数——获得字符串出现的 位置
instr()函数用于获得子字符串在父字符串中出现的位置 。 select instr('big big tiger', 'big') from dual; 可以指定额外的参数,以命令该函数从指定位置开始 搜索。 select instr('big big tiger', 'big', 2) from dual;
14.1.1
lpad()函数
lpad()函数用于左补全字符串。在某些情况下,预期的 字符串为固定长度,而且格式统一,此时可以考虑使用 lpad()函数。例如,深市股票代码都以0开头,并且都为6位 ,可以利用lpad格式化股票代码,以保证股票代码的格式。 select lpad('21',6,'0') stock_code from dual; 需要注意的是,当原字符串的长度大于预期长度时, 实际进行的是截取字符串操作。 select lpad('1234567',6,'0') stock_code from dual;
第14章
Oracle中的函数与表达式
Oracle中提供了大量的内置函数,以处理各种形式的 运算。这些函数涵盖了字符串运算、数值运算、日期运算等 方面。同样,Oracle允许使用数值运算、逻辑运算等基本的 表达式运算,另外,提供了SQL标准所规定的特殊判式。
Oracle中的字符串函数; Oracle中的数学函数; Oracle中的日期函数;
14.1.11
trim()函数——删除字符串首尾空 格
trim()函数可用于删除首尾空格,相当于ltrim()和 rtrim()的组合。 select trim(' abc ') from dual;
14.1.12
to_char()函数——将其他类型转换 为字符类型
to_char()函数用于将其他数据类型的数据转换为字符 型,这些类型主要包括数值型、日期型。 1. 将数值型转换为字符串
还可以指定出现次数参数,以指定是第几次搜索到子 字符串。
select instr('big big tiger', 'big', 2, 2) from dual;
14.1.9
ltrim()函数——删除字符串首部空 格
ltrim()中的l代表left。该函数用于删除字符串左端的空 白符。 select ltrim(' abc') from dual;
14.1.2
rpad()函数
与lpad()函数相反,rpad()函数从右端补齐字符串。 select rpad('abc', 10, '*') from dual; 注意与说明:lpad()和rpad()都用于填充字符串, lpad()从左端进行填充,而rpad()从右端进行填充,但是, 二者在最终截取字符串时,都是从左端开始截取。 select rpad('abcdefg', 6, '*') from dual;
相关文档
最新文档