ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle字符函数

oracle字符函数

原创 Linux操作系统 作者:shilei1 时间:2013-01-15 01:50:50 0 删除 编辑
lpad 
在Oracle/PLSQL中,lpad函数将左边的字符串填充一些特定的字符, 
其语法格式如下:     
  lpad( string1, padded_length, [ pad_string ] ) 
  其中string1是需要粘贴字符的字符串 
  padded_length是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成padded_length; 

  pad_string是个可选参数,这个字符串是要粘贴到string1的左边,如果这个参数未写,lpad函数将会在string1的左边粘贴空格。 
  例如: 
  lpad('tech', 7); 将返回' tech' 
  lpad('tech', 2); 将返回'te' 
  lpad('tech', 8, '0'); 将返回'0000tech' 
  lpad('tech on the net', 15, 'z'); 将返回 'tech on the net' 
  lpad('tech on the net', 16, 'z'); 将返回 'ztech on the net' 

(1在oracle的数据库里有个函数 LPAD(String a,int length,String addString). 

              2作用:把addString添加到a的左边,length 是返回值的长度。 

               3例子 

                  A : SQL> select lpad('test',8,0) from dual; 

                LPAD('TEST',8,0) 
                    ---------------- 
                 0000test 

               B: select lpad('test',8) from dual; 

              LPAD('TEST',8) 
                         -------------- 
               test 注:不写最后一个参数,函数会默认在返回值左边加一个空格。 

               C: SQL> select lpad('test',2,0) from dual; 

                LPAD('TEST',2,0) 
                ---------------- 
              te 

              D:SQL> select lpad('test',3) from dual; 

                   LPAD('TEST',3) 
                  -------------- 
                    tes)




nvl 
通过查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值 

例如: 

select nvl(sum(t.dwxhl),1) 

from tb_jhde t 

就表示如果sum(t.dwxhl) = NULL 就返回 1 


另一个有关的有用方法 

declare i integer 

select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1这样就可以把获得的合计值存储到变量 
i中,如果查询的值为null就把它的值设置为默认的1 





通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值 
  select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1 
这里关心的nvl的用法,nvl(arg,value)代表如果前面的arg的值为null那么返回的值为后面的value 

另一个有关的有用方法 
declare 
i integer 
select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1 
这样就可以把获得的合计值存储到变量i中,如果查询的值为null就把它的值设置为默认的1 



Upper() 
功能将字符串中的小写字母转换为大写字母。 
语法Upper( string ) 
参数string:要将其中的小写字母转换为大写字母的字符串返回值String。函数执行成功时返回将小写字母转换为大写字母后的字符串,发生错误时返回空字符串("")。如果string参数的值为NULL,Upper()函数返回NULL。 
eg:select  upper('AaCdD')  from dual; 
UPPER('AACDD') 




Replace函数 
描述 

返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。 

语法 

Replace(expression, find, replacewith[, start[, count[, compare]]]) 

Replace函数语法有如下几部分: 

部分 描述 
expression 必需的。字符串表达式,包含要替换的子字符串。 
find 必需的。要搜索到的子字符串。 
replacewith 必需的。用来替换的子字符串。 
start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。 
count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 -1,它表明进行所有可能的替换。 
compare 可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。 


设置值 

compare参数的设置值如下: 

常数 值 描述 
vbUseCompareOption -1 使用Option Compare语句的设置值来执行比较。 
vbBinaryCompare 0 执行二进制比较。 
vbTextCompare 1 执行文字比较。 
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 


返回值 

Replace的返回值如下: 

如果 Replace返回值 
expression长度为零 零长度字符串("")。 
expression为Null 一个错误。 
find长度为零 expression的复本。 
replacewith长度为零 expression的复本,其中删除了所有出现的find 的字符串。 
start > Len(expression) 长度为零的字符串。 
count is 0 expression.的复本。 


说明 

Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。 
并不是原字符串从头到尾的一个复制。 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/196700/viewspace-752666/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-10-10

  • 博文量
    548
  • 访问量
    130259