有时可能需要将一个值从一种数据类型转换为另一种数据类型。
ASCIISTR(x) 将x转换为一个ASCII字符串BIN_TO_NUM(x) 将二进制数字x转换为NUMBER类型
DECODE(x,search,result,default) 将x与search中的值进行比较,如果相等,返回result的值,否则返回default
TO_BINARY_DOUBLE(x) 将x转换为一个BINARY_DOUBLE类型
TO_BINARY_FLOAT(x) 将x转换为一个BINARY_FLOAT类型
TO_BLOB(x) 将x转换为一个二进制大对象(BLOB)类型。
TO_CHAR(x[,format]) 将x转换为一个VARCHAR2字符串。可以指定一个可选参数format来说明x的格式
TO_CLOB(x) 将x转换为一个字符大对象(CLOB)类型。
TO_DATE(x[,format]) 将x转换为一个DATE类型。
TO_TIMESTAMP(x) 将字符串x转换为一个TIMESTAMP类型
1.4 正则表达式函数
正则表达式中包含许多元字符。^可以匹配一个字符串的开头:[5-8]可以匹配介于5~8之间的数字;$可以匹配一个字符串的结尾。
orcle中常用的元字符
元字符 说明 例子\
说明要匹配的字符是一个特殊字符、常量\n匹配换行符
\\匹配\
\(匹配(
\)匹配)
^ 匹配字符串的开头位置
$ 匹配字符串的末尾位置
* 匹配前面的字符0次或多次 ba*rk可以匹配brk,bark,baark
+ 匹配前面字符串1此或多次 ba+rk可以匹配bark、baark等
? 匹配前面的字符0次或1次
{n} 匹配一个字符恰好是n次, hob{2}it可以匹配hobbit
{n,m} 匹配一个字符至少n次,最多m次
. 匹配出null之外的任意单个字符
(pattern) 匹配一个指定的子表达式
x|y 匹配x或者y,
{abc} 匹配abc中的任意一个字符
[a-z] 匹配指定范围内的任意一个字符
[::] 指定一个字符类,可以匹配该类中的任何字符
[:alphanum:]可以匹配字符0-9、A-Z和a-z
[:alpha:]可以匹配字符A-Z和a-z
[:blank:]可以匹配空格和tab键
[:digit:]可以匹配数字0-9
[:graph:]可以匹配非空字符
[:lower:]可以匹配小写字母
[==] 指定等价类
\n 这是对前一次捕获的一个反向引用,其中n是一个正整数
\d 数字字符
\D 非数字字符
\w 字母字符
\W 非字母字符
\s 空白字符
\S 非空白字符
\A 只匹配字符串的开头位置
\Z 只匹配字符串的末尾位置
*? 匹配前面的模式元素0次或多次
+? 匹配前面的模式元素1次或多次
?? 匹配前面的模式元素0次或
正则表达式函数
函数 说明
REGEXP_LIKE(x,pattern[,match_option]) 从x中搜索pattern参数中定义的正则���达式。可以使用match_option修改默认匹配选项
REGEXP_INSRT(x,pattern[,start[,occurence[,rerturn_option[,match_option]]]])
在x中查找pattern,并返回pattern所在的位置。可以指定一下可选参数:
start:开始查找的位置。默认是1,指x的第一个字符
occurrence 说明应该返回当前第几次出现pattern的位置
return_option 说明应该返回什么整数