在平时写PL/SQL的时候,经常要用到很多系统自带的函数,而这些函数用起来非常好用,但是每次用完以后,就又忘到脑后了,为了加深自己的映象,以及对这些函数做一个全面的总结,就有了今天这篇文章。
首先这就是一个网上总结烂了的主题。我还要总结,权当自己的学习总结。总结这篇文章时也参考了网上他人总结的文章,如果不喜、勿喷。
作为一篇“鸡肋”文章,弃之如可惜,食之无所得。读者就当一“乐呵”就好了。有钱的捧个钱场,没钱的捧个人场。
常用字符串函数
在编写PL/SQL程序时,或多或少的需要进行字符串操作,进行字符串操作又离不开以下的这些函数。
函数 | 描述 |
---|---|
LOWER(char) | 将字符串表达式char中的所有大写字母转换为小写字母 |
UPPER(char) | 将字符串表达式char中的所有小写字母转换为大写字母 |
INITCAP(char) | 首字母转换成大写 |
SUBSTR(char, start, length) | 返回字符串表达式char中从第start开始的length个字符 |
LENGTH(char) | 返回字符串表达式char的长度 |
ASCII(char) | 取char的ASCII值 |
CHR(number) | 取number的ASCII值 |
REPLACE(char,search_str[,replacement_str]) | 将字符串char中的子串search_str替换成replacement_str;如果search_str=null,返回char;如果replacement_str=null,则会去掉char中的search_str |
INSTR(char1,char2[,n[,m]]) | 获取子串char2在字符串char1中的位置。n为其实搜索位置,m为子串出现的次数;n为负,则从尾部开始搜索;nm默认为1 |
LPAD(char1,n,char2) | 在字符串char1的左端填充字符串char2直到长度达到n;char2默认为空格,如果char1.length>n,则返回char1左端的n个字符 |
RPAD(char1,n,char2) | 在字符串char1的右端填充字符串char2直到长度达到n;char2默认为空格,如果char1.length>n,则返回char1左端的n个字符 |
LTRIM(char1[,set]) | 去掉字符串char1左端包含的set中的任意字符 |
RTRIM(char1[,set]) | 去掉字符串char1右端包含的set中的任意字符 |
TRIM(char | char From string) | 从字符串的头尾或者两端截断特定字符 |
CONCAT(str1,str2) | 连接字符串,同||的作用一样 |
-- LOWER测试
select LOWER('HTTP://WWW.JELLYTHINK.COM') from dual; -- http://www.jellythink.com
-- UPPER测试
select UPPER('http://www.jellythink.com') from dual; -- HTTP://WWW.JELLYTHINK.COM
-- INITCAP测试
select INITCAP('jelly think') from dual; -- Jelly Think
-- SUBSTR测试
select SUBSTR('http://www.jellythink.com', 12, 10) from dual; -- jellythink(注:下标从1开始)
-- LENGTH测试
select LENGTH('JellyThink') from dual; -- 10
-- ASCII测试
select ASCII('A') from dual; -- 65
-- CHR测试
select CHR(65) from dual; -- A
-- REPLACE测试
select REPLACE('jellythink', 'think', ' is good') from dual; -- jelly is good
-- INSTR测试
select INSTR('JellyThink', 'Jelly', 1) from dual; -- 1
-- LPAD测试
select LPAD('JellyThink', 12, '*') from dual; -- **JellyThink
-- RPAD测试
select RPAD('JellyThink', 12, '*') from dual; -- JellyThink**
-- LTRIM测试
select LTRIM('**JellyThink',