`
wuhongyu
  • 浏览: 404736 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

oracle 字符串函数

阅读更多

1.LOWER
返回字符串的小写形式;
select lower('ABCDEFG') from dual;

 

2.UPPER
返回字符串的大写形式;
select upper('abcdefg') from dual;

 

3.LENGTH
返回字符串的长度;
select length('abcdefg') from dual;

 

4.INSTR(S1,S2,I,J)
在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
S1 被搜索的字符串
S2 要搜索的字符串
I  搜索的开始位置,默认为1
J  第几次出现的位置,默认为1 ;
select instr('wuhongyu','u',1,2) instring from dual;

 

5.SUBSTR(string,start,count)
取子字符串,从start开始,取count个;
select substr('1234567890',5,3) from dual;

 

6.REPLACE(string,s1,s2)
将字符串中指定的字符替换成新的字符
string 要处理的字符串
s1 要被替换的字符串
s2 要替换成的字符串;
select replace('wuhy','hy','hongyu') from dual;

 

7.LTRIM(string,s)和RTRIM(string,s)
LTRIM 删除左边出现的字符串
RTRIM 删除右边出现的字符串
string 要处理的字符串
s 要删除的字符串
select ltrim(rtrim('  wuhongyu  ',' '),' ') from dual;

 

8.TRIM([LEADING/TRAILING] s from string)
删除给定字符串或者给定数字中的头部或者尾部的给定字符
LEADING 剪掉前面的字符
TRAILING 剪掉后面的字符
如果不指定,默认为空格符;
select trim(0 from 7500) from dual;
select trim('@' from '@wuhongyu@') from dual;
select trim(leading '@' from '@abcdefg') from dual;

 

9.RPAD(str,n[,str2])和LPAD(str,n[,str2])
当n<str.length,且没有str2参数的时候LPAD()和RPAD()都会截掉多余的字符。
并且都是从左向右取前n个字符。例如:
SELECT LPAD('CONGRANTULATIONS',5) FROM DUAL;
SELECT RPAD('CONGRANTULATIONS',5) FROM DUAL;
都会返回同一个字符串'CONGR'。

如果有str2且n<str.length时候和上面结果一样。

如果有str2且n>str.length的时候,
SELECT LPAD('CONGRANTULATIONS',20,'*') FROM DUAL; 结果为'****CONGRANTULATIONS'
SELECT RPAD('CONGRANTULATIONS',20,'*') FROM DUAL; 结果为'CONGRANTULATIONS****'

 

10.ASCII
返回与指定的字符对应的十进制数;
select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;

 

11.CHR
给出整数,返回对应的字符;
select chr(52962),chr(65) from dual;

 

12.CONCAT
连接两个字符串;
select concat('0451-','88888888')||'-0001' from dual;

 

13.INITCAP
返回字符串并将字符串的第一个字母变为大写;
select initcap('hello world') from dual;

 

14.SOUNDEX
SOUNDEX函数返回字符串参数的语音表示形式,相对于比较一些读音相同,
但是拼写不同的单词是非常有用的。

SOUNDEX(string)

计算语音的算法:
1.保留字符串首字母,但删除a、e、h、i、o、w、y
2.将下表中的数字赋给相对应的字母
    (1) 1:b、f、p、v
    (2) 2:c、g、k、q、s、x、z
  (3) 3:d、t
  (4) 4:l
  (5) 5:m、n
  (6) 6:r
3. 如果字符串中存在拥有相同数字的2个以上(包含2个)的字母在一起(例如b和f),或者只有h或w,则删除其他的,只保留1个
4.只返回前4个字节,不够用0填充
  
soundex('two'),soundex('too'),soundex('to'),他们的结果都是T000
soundex('cap'),soundex('cup'),他们的结果都是C100
soundex('house'),soundex('horse'),他们的结果都分别是H200,H620

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics