- 单行函数(single row function)
单行函数同时只能对一行进行操作,对输入的每一行返回一个结果。单行函数的一个例子是 CONTACT(x,y),其功能所示将 y 附加在 x 上,并返回所得到的字符串。
- 聚合函数(aggregate function)
聚合函数可以同时对多行进行操作,并返回一行输出结果。聚合函数的一个例子是 AVG(x)。
1、字符函数:
函数 | 说明 |
ASCII(x) | 返回字符 x 的 ASCII 码 |
CHR(x) | 返回ASCII码为 x 的字符 |
CONCAT(x,y) | 将 y 附加在 x 上,并将时所得到的字符串作为结果返回 |
INITCAP(x) | 将 x 中的每个单词的首字母都转换成大写,并返回所得到的字符串 |
INSTR(x , find_string[ ,start][ ,occurrence]) | 在 x 中查找字符串 find_string ,然后返回 find_string 所在的位置。可以提供一个可选的 start 位置来指定该函数从 start 位置开始查找。同样可以指定一个可选的 occurrence 参数,来说明应该返回 find_string 第几次出现的位置。 |
LENGTH(x) | 返回 x 中字符的个数 |
LOWER(x) | 将 x 中的字母转换成小写,并返回所得到的字符串 |
LPAD(x ,width [, pad_string]) | 在 x 的左边补齐空格,得到总长为 width 个字符的字符串。该函数可以提供一个可选的 pad_string ,这个参数用于指定在 x 左边补齐的字符串 |
LTRIM(x[, trim_string]) | 从 x 的左边截去一些字符。可以指定一个可选的参数 trim_string 来指定要截取的字符;如果不指定 trim_string 参数,则默认截取空格 |
NANVL(x , value) | 如果 x 匹配 NaN 这个特殊字值(非数字),就返回 value ;否则就返回 x |
NVL(x, value) | 如果 x 为空,就返回 value,否则就返回 x |
NVL2(x, value1, value2) | 如果 x 为空,就返回 value1,否则就返回 value2 |
REPLACE(x, search_string,replace_string) | 在 x 中查找 search_string,并将其替换为 replace_string |
RPAD(x, width[, pad_string]) | 与 LPAD()类似,不过要对 x 的右边进行补齐 |
RTRIM(x[, trim_string]) | 与 LTRM()类似,不过要对 x 的右边进行截取 |
SOUNDEX(x) | 返回一个包含 x 的发音的字符串,该函数用于对英文发音不同但是却比较接近的单词进行比较 |
SUBSTR(x, start[, length]) | 返回 x 中的一个子字符串,这个子字符串从 start 除开始,还可以为这个子字符串制定一个可选的 length 参数 |
TRIM([trim_charFROM]x) | 从 x 的左边和右边同时截取一些字符。可以指定一个可选的参数 trim_string 来指定要截去的字符。如果不指定 trim_string 参数,则默认截去空格。 |
upper(x) | 将 x 中的字符 转换为大写,并返回所得到的字符串 |
2、数字函数:
函数 | 说明 |
ABS(x) | 返回 x 的绝对值 |
ACOS(x) | 返回 x 的反余弦 |
ASIN(x) | 返回 x 的反正弦 |
ATAN(x) | 返回 x 的反正切 |
ATAN2(x,y) | 返回 x 和 y 的反正弦 |
POWER(x,y) | 返回 x 的 y 次幂 |
SQRT(x) | 返回 x 的平方根 |
TRUNC(x[,y]) | 返回对 x 进行阶段的结果;y 为可选参数,说明对第几位小数进行截断 |
3、转换函数:
4、日期函数:
5、正则表达式函数:
元字符 | 意思 | 例子 |
\ | 收货名要匹配的字符是一个特殊的字符、常量或者后引用(后引用重复上一次匹配) | \n 匹配换行符 \\匹配\ |
^ | 匹配字符串的开头位置 | 如果 A 是字符串中的第一个 字符,^A 匹配 A |
$ | 匹配字符串的末尾位置 | 如果 B 是字符串的最后一个位置,$B 匹配 B |
* | 匹配前面的字符 0 次或多次 | ba*rk可以匹配 brk、bark、baark等,但是不能匹配 brk |
+ | 可以匹配前面的字符 1 次或多次 | ba+rk可以匹配bark、baark等,但是不能匹配 brk |
? | 匹配前面的字符 0 次或 1 次 | ba?rk 只能匹配 brk、bark |
{n} | 匹配一个字符恰好 n 次,其中 n 是一个整数 | hob{2}it 可以匹配 hobbit |
{n,m} | 匹配一个字符至少 n 次,至多 m 次,其中 n 和 m 都是整数 | hob{2,3}it 可以匹配 hobbit ,hobbbit等等 |
. | 匹配除 null 之外的任意单个字符 | hob.it 可以匹配 hobiat 、hobbit 等 |
(pattern) | 匹配指定模式的一个子表达式。可以使用子表达式构成复杂的正则表达式。在这种子表达式中,可以访问单词的匹配,称为匹配命中(capture) | anatom(y|ies)可以匹配anatomy和anatomies |
x|y | 匹配 x 或 y ,其中 x 或 y 是一个或多个字符 | war|peace 可以匹配 war 或peace |
[abc] | 匹配中括号内的任意一个字符 | [ab]bc可以匹配 abc 或者 bbc |
[a-z] | 匹配指定范围内的任意一个字符 | [a-c]bc 可以匹配 abc、bbc 或 cbc |
[::] | 指定一个字符类,可以匹配该类中的任何字符 | [:alphanum:] 可以匹配字符 0-9,A-Z,a-z [:alpha:] 可以匹配字符 A-Z 和 a-z [:blank:] 可以匹配空格或者 tab 键 [:digit:] 可以匹配数字 0-9 [:graph:] 可以匹配非空字符 [:lower:] 可以匹配小写字母 a-z [:print:] 与 [:graph:] 类似,不同之处在于[:print:] 包括空格字符 [:punct:] 可以匹配标点符号 .," '等等 [:space:] 可以匹配所有的空字符 [:upper:] 可以匹配所有的大写字母 A-Z [:xdigit:] 可以匹配十六进制数字 0-9,A-F,a-f |
[..] | 匹配一个组合元素,例如多字符元素 | 无 |
[==] | 指定等价类 | 无 |
\n | 这是对前一次匹配命中的一个后引用,其中 n 是一个正整数 | (.)\1可以匹配两个连续相同的字符。(.)可以匹配除 null 之外的任何单个字符,而\1则重复上次匹配的内容,鸡杂次匹配相同的字符,因此,可以匹配连续相同的两个字符 |