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提供了丰富的数值计算函数和操作符,可以进行各种数学运算和
表达式计算。下面将介绍一些常见的数值计算方法和技巧。
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常用运算表达式
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函数是一种聚合函数,用于查询满足指定条件的行数。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函数用法
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中,统计个数的函数有很多种,常用的有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中基本函数
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中,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是一个正则表达式函数,用于从字符串中提取匹配指定模式的子字符串。该函数的语法如下:
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语法及函数大全
--数据操作
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数据库提供了方差函数(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常用函数总结
常用的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数字函数
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函数
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中常用的函数
1. (,,):从指定位置开始向后截取指定长度的子串。
2. (,):返回子串在字符串中首次出现的位置。如果子串未找到返回0。
3. ():返回字符串长度。
4. ([ _] ):去除字符串头尾部分的空格或其他字符。
5. (,[,]):用指定的填充字符填充字符串在指定长度时不足部分。
6. (,[,]):用指定的填充字符填充字符串在指定长度时不足部分。
7. ([,]):四舍五入指定数字。
8. ([,]):截断指定小数位数的数字。
9. (,):求余函数。
10. (_,):求幂函数。
11. ():求平方根。
12. _([,]):数字转字符串。
13. _(_[,],[_]):字符串转日期。
14. :返回当前系统日期时间。
15. _(1,2):计算两个日期之间的月份数。
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;