1、字符函数
函数 | 说明 | 示例 | 结果 | ||
---|---|---|---|---|---|
ASCII(x) | 返回字符x的ASCII码。 | SELECT ASCII('a') FROM DUAL | 97 | ||
CONCAT(x,y) | 连接字符串x和y。 | SELECT CONCAT('Hello', ' world') FROM DUAL | Hello world | ||
INSTR(x, str. Start, n) | 在x中查找str,可以指定从start开始,也可以指定从第n次开始。 | SELECT INSTR('Hello world','or') FROM DUAL | 8 | ||
LENGTH(x) | 返回x的长度。 | SELECT LENGTH('Hello') FROM DUAL | 5 | ||
LOWER(x) | x转换为小写。 | SELECT LOWER('hElLO') FROM DUAL | hello | ||
UPPER(x) | x转换为大写。 | SELECT UPPER('hello') FROM DUAL | HELLO | ||
LTRIM(x,trim_str) | 把x的左边截去trim_str字符串,缺省截去空格。 | SELECT LTRIM('===HELLO===', '=') FROM DUAL | HELLO=== | ||
RTRIM(x,trim_str) | 把x的右边截去trim_str字符串,缺省截去空格。 | SELECT RTRIM('===HELLO===', '=') FROM DUAL | ===HELLO | ||
TRIM(trim_str FROM x) | 把x的两边截去trim_str字符串,缺省截去空格。 |
| =HELLO= HELLO | ||
REPLACE(x,old,new) | 在x中查找old,并替换为new。 | SELECT REPLACE('ABCDE','CD','AAA') FROM DUAL | ABAAAE | ||
SUBSTR(x, start ,length) | 返回x的字串,从staart处开始,截取length个字符,缺省length,默认到结尾 | SELECT SUBSTR('ABCDE',2) FROM DUAL SELECT SUBSTR('ABCDE',2,3) FROM DUAL | BCDE BCD |
2、数字函数
函数 | 说明 | 示例 |
ABS(X) | X的绝对值 | ABS(-3)=3 |
ACOS(X) | X的反余弦 | ACOS(1)=0 |
COS(X) | 余弦 | COS(1)=0.54030230586814 |
CEIL(X) | 大于或等于X的最小值 | CEIL(5.4)=6 |
FLOOR(X) | 小于或等于X的最大值 | FLOOR(5.8)=5 |
LOG(X,Y) | X为底Y的对数 | LOG(2,4)=2 |
MOD(X,Y) | X除以Y的余数 | MOD(8,3)=2 |
POWER(X,Y) | X的Y次幂 | POWER(2,3)=8 |
ROUND(X[,Y]) | X在第Y位四舍五入 | ROUND(3.456,2)=3.46 |
SQRT(X) | X的平方根 | SQRT(4)=2 |
TRUNC(X[,Y]) | X在第Y位截断 | TRUNC(3.456,2)=3.45 |
说明:
(1)ROUND(X[,Y]),四舍五入。
在缺省y时,默认y=0;比如:ROUND(3.56)=4。
y是正整数,就是四舍五入到小数点后y位。ROUND(5.654,2)=5.65。
y是负整数,四舍五入到小数点左边|y|位。ROUND(351.654,-2)=400。
(2)TRUNC(x[,y]),直接截取,不四舍五入。
在缺省y时,默认y=0;比如:TRUNC (3.56)=3。
y是正整数,就是四舍五入到小数点后y位。TRUNC (5.654,2)=5.65。
y是负整数,四舍五入到小数点左边|y|位。TRUNC (351.654,-2)=300。
3、日期函数
此模块内容较多单独新发一篇学习笔记。
4、转换函数
函数 | 说明 | 示例 | 结果 |
---|---|---|---|
TO_CHAR(d|n[,fmt]) | 把日期和数字转换为制定格式的字符串。Fmt是格式化字符串 | (1)SELECT TO_CHAR (SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS') "date" FROM dual; (2)SELECT TO_CHAR (-123123.45,'L9.9EEEEPR') "date" FROM dual; | |
TO_DATE(X,[,fmt]) | 把一个字符串以fmt格式转换成一个日期类型 | ||
TO_NUMBER(X,[,fmt]) | 把一个字符串以fmt格式转换为一个数字 | SELECT TO_NUMBER ('-$12,345.67','$99,999.99') "num" FROM dual; | ![]() |
代码解析:
在格式化字符串中,使用双引号对非格式化字符进行引用
针对数字的格式化,格式化字符有:
参数 | 示例 | 说明 |
9 | 999 | 指定位置处显示数字 |
. | 9.9 | 指定位置返回小数点 |
, | 99,99 | 指定位置返回一个逗号 |
$ | $999 | 数字开头返回一个美元符号 |
EEEE | 9.99EEEE | 科学计数法表示 |
L | L999 | 数字前加一个本地货币符号 |
PR | 999PR | 如果数字式负数则用尖括号进行表示
|
5、 其它单行函数
函数 | 说明 |
NVL(X,VALUE) | 如果X为空,返回value,否则返回X |
NVL2(x,value1,value2) | 如果x非空,返回value1,否则返回value2。 |
6、聚合函数
详见其他笔记。