参考 http://yangdi1984.blog.hexun.com/20238141_d.html
http://www.cnblogs.com/kafony/archive/2011/08/25/2153675.html
数学函数
1,取整函数(ceil 向上取整,floor 向下取整)
select ceil(66.6) N1,floor(66.6) N2 from dual;
2, 取幂(power) 和 求平方根(sqrt)
select power(3,2) N1,sqrt(9) N2 from dual;
3,求余
select mod(9,5) from dual;
4,返回固定小数位数 (round:四舍五入,trunc:直接截断)
select round(66.667,2) N1,trunc(66.667,2) N2 from dual;
5,返回值的符号(正数返回为1,负数为-1)
select sign(-32),sign(293) from dual;
字符函数(可用于字面字符或数据库列)
1,字符串截取
select substr('abcdef',1,3) from dual
2,查找子串位置
select instr('abcfdgfdhd','fd') from dual
3,字符串连接
select 'HELLO'||'hello world' from dual;
4, 1)去掉字符串中的空格
select ltrim(' abc') s1,
rtrim('zhang ') s2,
trim(' zhang ') s3 from dual
2)去掉前导和后缀
select trim(leading 9 from 9998767999) s1,
trim(trailing 9 from 9998767999) s2,
trim(9 from 9998767999) s3 from dual;
5,返回字符串首字母的Ascii值
select ascii('a') from dual
6,返回ascii值对应的字母
select chr(97) from dual
7,计算字符串长度
select length('abcdef') from dual
8,initcap(首字母变大写) ,lower(变小写),upper(变大写)
select lower('ABC') s1,
upper('def') s2,
initcap('efg') s3
from dual;
9,Replace
select replace('abc','b','xy') from dual;
10,translate
select translate('abc','b','xx') from dual; -- x是1位
11,lpad [左添充] rpad [右填充](用于控制输出格式)
select lpad('func',15,'=') s1, rpad('func',15,'-') s2 from dual;
select lpad(dname,14,'=') from dept;
12, decode[实现if ..then 逻辑] 注:第一个是表达式,最后一个是不满足任何一个条件的值
select deptno,decode(deptno,10,'1',20,'2',30,'3','其他') from dept;
例:
select seed,account_name,decode(seed,111,1000,200,2000,0) from t_userInfo//如果seed为111,则取1000;为200,取2000;其它取0
select seed,account_name,decode(sign(seed-111),1,'big seed',-1,'little seed','equal seed') from t_userInfo//如果seed>111,则显示大;为200,则显示小;其它则显
示相等
13 case[实现switch ..case 逻辑]
SELECT CASE X-FIELD
WHEN X-FIELD < 40 THEN 'X-FIELD 小于 40'
WHEN X-FIELD < 50 THEN 'X-FIELD 小于 50'
WHEN X-FIELD < 60 THEN 'X-FIELD 小于 60'
ELSE 'UNBEKNOWN'
END
FROM DUAL
注:CASE语句在处理类似问题就显得非常灵活。当只是需要匹配少量数值时,用Decode更为简洁。
如:select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
Decode函数的语法结构如下:
decode (expression, search_1, result_1)
decode (expression, search_1, result_1, search_2, result_2)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)
decode (expression, search_1, result_1, default)
decode (expression, search_1, result_1, search_2, result_2, default)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
其他函数
1.user:
返回登录的用户名称
select user from dual;
2.vsize:
返回表达式所需的字节数
select vsize('HELLO') from dual;
3.nvl(ex1,ex2):
ex1值为空则返回ex2,否则返回该值本身ex1(常用)
例:如果雇员没有佣金,将显示0,否则显示佣金
select comm,nvl(comm,0) from emp;
4.nullif(ex1,ex2):
值相等返空,否则返回第一个值
例:如果工资和佣金相等,则显示空,否则显示工资
select nullif(sal,comm),sal,comm from emp;
5.coalesce:
返回列表中第一个非空表达式
select comm,sal,coalesce(comm,sal,sal*10) from emp;
6.nvl2(ex1,ex2,ex3) :
如果ex1不为空,显示ex2,否则显示ex3
如:查看有佣金的雇员姓名以及他们的佣金
select nvl2(comm,ename,') as HaveCommName,comm from emp;
分享到:
相关推荐
### ORACLE常用数值函数、转换函数、字符串函数详细介绍 #### 数值函数 1. **ABS(M)** - **功能**: 返回数值M的绝对值。 - **示例**: 如果输入`-123`, 函数返回`123`。 2. **MOD(M, N)** - **功能**: 返回M...
可以使用`TRANSLATE`函数将所有可能的数字字符(包括小数点、正负号和科学计数法中的“E”或“e”)替换为固定的字符,然后比较替换后字符串的大小,以此来判断原字符串是否可以转换为数字。 **步骤**: 1. **定义...
- `UPPER(char)`: 与`LOWER`相反,它将字符串中的所有小写字母转换为大写字母。 - `INITCAP(char)`: 这个函数将字符串的每个单词的首字母转换为大写,其余字母转换为小写,方便格式化输出。 - `SUBSTR(char,start...
Oracle数据库系统提供了丰富的函数,包括数值函数、转换函数和字符串函数,帮助用户在处理数据时进行各种操作。这些函数在SQL查询和数据库应用程序开发中起着至关重要的作用。 1. 数值函数: - `ABS(m)`:计算并...
以下是对标题和描述中提及的Oracle数据类型及常用函数的详细讲解。 **一、Oracle数据类型** 1. **字符数据类型** - `Char(n)`:固定长度的字符串,最多可存储n个字符,不足会填充空格。 - `Varchar2(n)`:可变...
1. **字符串函数**: - `CONCAT()`:连接两个或多个字符串。 - `SUBSTR()`:从字符串中提取子串。 - `UPPER()`和`LOWER()`:将字符串转换为大写或小写。 - `INSTR()`:查找字符串中特定字符或子串的位置。 - `...
2. **字符串函数**:如`LENGTH()`计算字符串长度,`SUBSTR()`截取子字符串,`UPPER()`和`LOWER()`转换大小写,`TRIM()`去除空格,`CONCAT()`连接字符串。 3. **日期时间函数**:如`SYSDATE`获取当前系统日期,`ADD_...
13. SOUNDEX函数:SOUNDEX返回一个与输入字符串发音相似的代码,常用于近音字的匹配。在例子中,如果要找到与'weath'发音相近的记录,可以使用`SOUNDEX`函数筛选`table1`表中的记录。 以上这些函数在Oracle SQL中...
15. TO_CHAR 函数:将数字转换为格式化的字符串,如TO_CHAR(9999.99) 可以控制小数点后的位数和千分位分隔符等。 这些函数在处理Oracle数据库中的数据时非常实用,无论是数据清洗、数据分析还是报告生成,都能大大...
接下来,我们讨论Oracle中的一些常用函数: 1. CONCAT:这是字符串连接操作,可以将两个或更多字符串合并为一个。 2. ASCII和CHR:ASCII函数返回字符的ASCII码,而CHR函数根据给定的ASCII码返回对应的字符。 3. ...
根据提供的标题、描述以及部分示例内容,我们可以总结出Oracle数据库中一些常用的功能函数及其应用场景。...以上就是Oracle数据库中常用的一些函数及其使用方法,通过这些函数,用户可以方便地处理字符串和数字数据。
"Oracle常用函数chm版"是一个集合了多种Oracle数据库常用函数的参考资源,主要包含以下几个方面: 1. **数值型函数**:这类函数主要用于处理整数、浮点数等数值类型的数据。例如,`ROUND`函数用于四舍五入,`TRUNC`...
### Oracle常用函数集详解 #### 一、ASCII函数 **功能描述:** ASCII函数用于返回与指定字符相对应的十进制数值。 **语法格式:** ```sql ASCII('字符') ``` **示例:** ```sql SELECT ASCII('A') A, ASCII('a') ...
以下是一些常用的Oracle字符串函数的详细说明: 1. ASCII函数:ASCII函数返回指定字符的ASCII码,即对应的十进制数字。例如,ASCII('A')将返回65,ASCII('a')返回97,ASCII('0')返回48,ASCII(' ')返回32。 2. CHR...
1. **字符串处理函数** - `CONCAT()`:用于连接两个或多个字符串。 - `SUBSTR()`:从字符串的指定位置截取指定长度的子串。 - `INSTR()`:查找字符串中指定字符或子串的位置。 - `UPPER()` 和 `LOWER()`:将字符...
Oracle数据库系统提供了丰富的函数库,包括数值函数、转换函数和字符串函数,这些函数极大地丰富了SQL查询语言的功能,使得在处理数据时更加灵活和高效。下面将详细介绍这些函数的使用和示例。 **数值函数** 1. **...
以下是对标题和描述中提到的Oracle常用函数的详细总结: 1. ASCII 函数:这个函数返回一个字符对应的ASCII码,即十进制数字。例如,`ASCII('A')`返回65,`ASCII(' ')`返回32(空格的ASCII码)。 2. CHR 函数:与...
字符函数主要用于处理字符串数据,包括: 1. `lower(char)`:将字符串中的所有字符转换为小写字母。 2. `upper(char)`:将字符串中的所有字符转换为大写字母。 3. `length(char)`:返回字符串的总字符数。 4. `...
1. **字符串函数**: - `CONCAT()`:连接两个或多个字符串。 - `SUBSTR()`:从字符串中提取子串。 - `INSTR()`:查找字符串中指定字符或子串的位置。 - `UPPER()` 和 `LOWER()`:将字符串转换为大写或小写。 - ...