`
smalljavaer
  • 浏览: 9372 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle对字符串处理

 
阅读更多

oracle文本处理

oracle文本信息
1:char
CHAR串是定长的,如果实际长度小于CHAR列的值,则oracle会自动用空格来填充为定长
 
2:VARCHAR VHARCHAR2
VARCHAR VARCHAR2变长字符串,最好采用varchar2、
 
3:字符连接
|| 或者 CONCAT(STRING1,STRING2)
SELECT 'CHINA'||' 中国' FROM DUAL;
输出:CHINA 中国
SELECT CONCAT('CHINA',' 中国') FROM DUAL;
输出:CHINA 中国


4:LPAD RPAD
从左边或者右边填充特定字符来补全长度
LPAD(STRING,LENGTH,[SET])
RPAD(STRING,LENGTH,[SET])
SELECT LPAD('A',4,'*') FROM DUAL;
输出:***A
SELECT RPAD('A',4,'*') FROM DUAL;
输出:A***


5:LTRIM RTRIM
从左边或者右边去除特定字符,则直到找到第一个不是指定的字符 如果不指定则去除空格
SELECT LTRIM('aabaaccc','a') FROM DUAL;
输出:baaccc
SELECT LTRIM(' ab a a c c c') FROM DUAL;
输出:ab a a c c c
 
6:TRIM 去除字符两端特定字符。如果不指定则去除空格。使用FROM来完成
SELECT TRIM('X' FROM 'XXABCXXX') FROM DUAL;
输出:ABC
SELECT TRIM(TRAILING 'X' FROM 'XXABCXXX') FROM DUAL;
输出:XXABC
SELECT TRIM(LEADING 'X' FROM 'XXABCXXX') FROM DUAL;
输出:ABCXXX
使用了TRAILING则仅仅去除右边的指定字符
使用了LEADING则仅仅去除左边的指定字符
 
7:LOWER UPPER INITCAP
LOWER:将字符串转换为小写
UPPER:将字符串转换为大写
INITCAP:将串的每个单词首字母转换为大写
SELECT LOWER('ABc'),UPPER('abC'),INITCAP('china times') from dual;
输出:abc ABC China Times
 
8:LENGTH
返回字符串长度
SELECT LENGTH('ACXD32 3') FROM DUAL;
输出 8
 
9:SUBSTR
截取字符串
SELECT SUBSTR('12345678',3,5) FROM DUAL;
输出:34567
从第三个位置开始,截取长度为5的字符串


10:INSTR
查找字符出现的位置
SELECT INSTR('ABCDER','C') FROM DUAL;
输出 3
SELECT INSTR('ABC DEF FFF FFF FFF FFFF','F',2) FROM DUAL;
输出 7
跳过前两个字符来进行查找
SELECT INSTR('ABC DEF FFF FFF FFF FFFF','F',2,3) FROM DUAL;
输出 10
跳过前两个字符,并且忽略前3-1次。然后第一次出现的位置。如果没有返回0
 
11:CHR ASCII
CHR根据数据库字符集将串转换为ASCII值,
ASCII将字符值转换为数值。互为反操作
SELECT CHR('70'),ASCII('F') FROM DUAL;
F 70
 
12:特殊字符需要转义
如在SQL中出现单引号,需要用转义字符进行转义  '------>\'
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics