Oracle常见函数大全(5)

LPAD(c1,n[,c2])
【功能】在字符串c1的左边用字符串c2填充,直到长度为n时为止
【参数】C1 字符串
n 追加后字符总长度
c2 追加字符串,默认为空格
【返回】字符型
【说明】如果c1长度大于n,则返回c1左边n个字符
如果如果c1长度小于n,c2和c1连接后大于n,则返回连接后的右边n个字符

SQL> select lpad('杨',10,'*') from dual; LPAD('杨',10,'*') ----------------- ********杨

不够字符则用*来填满

【相似】RPAD()在列的右边粘贴字符
【相反】LTRIM() 删除左边出现的字符串

在右边添加字符 rpad(c1,n[,c2])

RPAD(c1,n[,c2])
【功能】在字符串c1的右边用字符串c2填充,直到长度为n时为止
【参数】C1 字符串
n 追加后字符总长度
c2 追加字符串,默认为空格
【返回】字符型
【说明】如果c1长度大于n,则返回c1左边n个字符
如果如果c1长度小于n,c1和c2连接后大于n,则返回连接后的左边n个字符
如果如果c1长度小于n,c1和c2连接后小于n,则返回c1与多个重复c2连接(总长度>=n)后的左边n个字符

SQL> select rpad('gao',10,'*a') from dual; RPAD('GAO',10,'*A') ------------------- gao*a*a*a*

【相似】LPAD()在列的左边粘贴字符
【相反】RTRIM() 删除右边出现的字符串

删除左边字符 ltrim(c1,[,c2])

LTRIM(c1,[,c2])
【功能】删除左边出现的字符串
【参数】C1 字符串
c2 追加字符串,默认为空格
【返回】字符型

SQL> select LTRIM(' xiao gong jiang',' ') text from dual; TEXT --------------- xiao gong jiang 或者 SQL> select ltrim(' xiao gong jiang') text from dual; TEXT --------------- xiao gong jiang SQL> select ltrim('x xiao gong jiang' ,'x') text from dual; TEXT ------------------ xiao gong jiang 删除右边字符 rtrim(c1,[,c2])

RTRIM(c1,[,c2])
【功能】删除右边出现的字符串
【参数】C1 字符串
c2 追加字符串,默认为空格
【返回】字符型

SQL> select RTRIM(' xiao gong jiang XXXX','X') text from dual; TEXT ----------------- xiao gong jiang

【相似】LTRIM()删除左边出现的字符串
【相反】RPAD() 在列的右边粘贴字符

替换子串字符 replace(c1,c2[,c3])

REPLACE(c1,c2[,c3])
【功能】将字符表达式值中,部分相同字符串,替换成新的字符串
【参数】
c1 希望被替换的字符或变量
c2 被替换的字符串
c3 要替换的字符串,默认为空(即删除之意,不是空格)
【返回】字符型

SQL> select replace('he love you','he','i') test from dual; TEST ---------- i love you 字符串语音表示形式 soundex(c1)

SOUNDEX(c1)
【功能】返回字符串参数的语音表示形式
【参数】c1,字符型
【返回】字符串
【说明】相对于比较一些读音相同,但是拼写不同的单词是非常有用的。

计算语音的算法:
  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填充

示例:
  

SQL> select soundex('two'),soundex('too'),soundex('to') from dual ; SOUNDEX('TWO') SOUNDEX('TOO') SOUNDEX('TO') -------------- -------------- ------------- T000 T000 T000 SQL> select soundex('cap'),soundex('cup') from dual ; SOUNDEX('CAP') SOUNDEX('CUP') -------------- -------------- C100 C100 SQL> select soundex('house'),soundex('horse') from dual ; SOUNDEX('HOUSE') SOUNDEX('HORSE') ---------------- ---------------- H200 H620 截取字符串(全角算1字符) substr(c1,n1[,n2])

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/788ad2a10ca265ae1d15237f9a7d9ea9.html