一、Oracle字符串操作
1.字符串类型
1.1CHAR和VARCHAR2类型
*表示字符串数据类型,用来在表达式中存放字符串信息,比如姓名&职业&地址等
*CHAR存放定长字符,即存不满补空格;VARCHAR2存放变长字符,存多少占用多少。如保存字符串’HELLOWORLD’,共10个英文字母:
*按照字符的自然顺序排序
1.2CHAR和VARCHAR2的存储编码
*默认单位是字节,可指定为字符
-CHAR(10),等价于CHAR(10 BYTE)
-指定单位为字符:CHAR(10 CHAR),20个字节
-VARCHAR2(10),等价于VARCHAR2(10 BYTE)
-指定单位为字符:VARCHAR2(10 CHAR),20个字节
1.3CHAR和VARCHAR2的最大长度
*CHAR最大取值为2000字节
-最多保存2000个英文字符,1000个汉字(GBK)
*VARCHAR2最大取值为4000字节
-最多保存4000个英文字符,2000个汉字(GBK)
*CHAR可不指定长度,默认为1,VARCHAR2必须指定长度
1.4LONG和CLOB类型
*LONG:VARCHAR2加长版,存储变长字符串,最多达2GB的字符串数据
*LONG有诸多限制:每个表只能有一个LONG类型列;不能作为主键;不能建立索引;不能出现在查询条件中…
*CLOB:存储定长或变长字符串,最多达4GB的字符串数据
2.字符串函数
1.1CONCAT和”||”
*CONCAT(char1,char2)
返回两个字符串连接后的结果,两个参数char1、char2是要连接的两个字符串
*等价操作:连接操作符”||”
*如果char1和char2任何一个为NULL,相对于连接了一个空格
1.2LENGTH
*LENGTH(char)
用于返回字符串的长度
*如果字符类型是VARCHAR2,返回字符的实际长度,如果字符串类型是CHAR,长度还要包括后补得空格
1.3UPPER、LOWER、INITCAP
*大小写转换函数,用来转换字符的大小写
*UPPER(char)用于将字符转换为大写形式
*LOWER(char)用于将字符转换为小写形式
*INITCAP(char)用于将字符串转中每个单词的首字符大写,其他字符小写,单词之间用空格和非字符字符分隔
*如果输入的参数是NULL值,仍然返回NULL值
1.4TRIM、LTRIM、RTRIM
*作用:截取子串
*语法形式
1.5LPAD、RPAD
*补位函数,用于在字符串char1的左端或右端用char2补足到n位,char2可重复多次
1.6SUBSTR
*SUBSTR(char,[m[,n]])
用于获取字符串的子串,返回char中从m位开始取n个字符
*如果m=0,则从首字符开始,如果m取负数,则从尾部开始
*如果没有设置n,或n的长度超过了char的长度,则取到字符串末尾为止
1.7INSTR
*INSTR(char1,char2[,n[,m]]):
返回子串char2在源字符串char1中的位置