免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1029 | 回复: 0
打印 上一主题 下一主题

Oracle单行函数之字符函数 [复制链接]

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2016-04-26 06:20:00数据库技术版块每日发帖之星
日期:2016-05-01 06:20:00数据库技术版块每日发帖之星
日期:2016-05-02 06:20:00数据库技术版块每日发帖之星
日期:2016-05-06 06:20:00数据库技术版块每日发帖之星
日期:2016-05-07 06:20:00数据库技术版块每日发帖之星
日期:2016-05-08 06:20:00数据库技术版块每日发帖之星
日期:2016-05-17 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-04-28 15:39 |只看该作者 |倒序浏览
本次主要总结了以下字符函数的作用及使用方法:
函 数        说 明
ASCII        返回对应字符的十进制值
CHR        给出十进制返回字符
CONCAT        拼接两个字符串,与 || 相同
INITCAT        将字符串的第一个字母变为大写
INSTR        找出某个字符串的位置
INSTRB        找出某个字符串的位置和字节数
LENGTH        以字符给出字符串的长度
LENGTHB        以字节给出字符串的长度
LOWER        将字符串转换成小写
LPAD        使用指定的字符在字符的左边填充
LTRIM        在左边裁剪掉指定的字符
RPAD        使用指定的字符在字符的右边填充
RTRIM        在右边裁剪掉指定的字符
REPLACE        执行字符串搜索和替换
SUBSTR        取字符串的子串
SUBSTRB        取字符串的子串(以字节)
SOUNDEX        返回一个同音字符串
TRANSLATE        执行字符串搜索和替换
TRIM        裁剪掉前面或后面的字符串
UPPER        将字符串变为大写
NVL        以一个值来替换空值
1、ASCII(<xxx>)
<xxx>是字符串,返回与指定的字符对应的十进制数。
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
     A      a ZERO SPACE
---------- ---------- ---------- ----------
65     97     48     32

2、CHR(n])
给出整数,返回对应字符。如:
SQL> select chr(65) chr65 from dual;
C
-
A

3、CONCAT(<c1>,<c2>)
返回字符串c1与字符串c2合并后的值。例如:
SQL> select concat('010-','8801 8159') from dual;
CONCAT('01
-----------------
010-8801 8159

4、INITCAP(<c1>)
返回字符串c1 并第一个字母变为大写。例如:
SQL> select initcap('simth') upp from dual;
UPP
-----
Simth

5、INSTR(<c1>,<c2>[,<I>[,<j>] ] )
在一个字符串中搜索指定的字符,返回发现指定的字符的位置。
C1: 被搜索的字符串
C2: 希望搜索的字符串
I: 搜索的开始位置,缺省是1
J: 出现的位置,缺省是1。
SQL> SELECT INSTR ('Oracle Training', 'ra', 1, 2) "Instring" FROM DUAL;
Instring
----------
        9

6、INSTRB(<c1>,<c2>[,<I>[,<j>] ] )
除了返回的字节外 ,与INSTR 相同,

7、LENGTH( <c> )
返回字符串 c 的长度。
SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from nchar_tst;
NAME LENGTH(NAME) ADDR      LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))
------ ------------ ---------------- ------------ ---------- ----------------
张五一      3        北京市海淀区         6         99999.99    8

8、LENGTHB( <c> )
以字节返回字符串的字节数。
SQL> select name,lengthb(name),length(name) from nchar_tst;
NAME   LENGTHB(NAME) LENGTH(NAME)
------ ------------- ------------
张五一              6            3

9、LOWER ( <c> )
返回字符串并将所有字符变为小写。
SQL> select lower('AaBbCcDd') AaBbCcDd from dual;
AABBCCDD
--------
aabbccdd

10、UPPER( <c>)
与 LOWER 相反,将给出字符串变为大写。如:
SQL> select upper('AaBbCcDd') AaBbCcDd from dual;
AABBCCDD
--------
AABBCCDD

11、RPAD和LPAD
RPAD(string,Length[,'set'])
LPAD(string,Length[,'set'])
      RPAD在列的右边用特定的字符补齐;
      LPAD在列的左边用特定的字符补齐。
例1:
SQL>select   RPAD(City,35,'.'),temperature    from weather;
        RPAD(City,35,'.')            temperature
        -------------------------- ----------------
           CLEVELAND......                    85
           LOS ANGELES..                     81
          .........................
        (即不够35个字符用'.'补齐)

12、LTRIM(左截断)RTRIM(右截断)
LTRIM (string [,’set’])
Left TRIM (左截断)删去左边出现的任何set 字符。
RTRIM (string [,’set’])
Right TRIM (右截断)删去右边出现的任何set 字符。
例1:
SELECT RTRIM (‘Mother Theresa, The’, ‘The’)  FROM DUAL;
RTRIM (‘M
---------------
Mother Theresa,

13、SUBSTR Substr(string,m[,n]) 截取字符串函数
substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符
substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符
substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
substr("ABCDEFG", -3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。

14、SUBSTRB(string,m[,n])
对字串(或字段),从m字节 开始,连续取 n个字节并返回结果,如果没有指n则一直取到尾。

15、REPLACE (‘string’ [,’string_in’,’string_out’])
String: 希望被替换的字符串或变量。
String_in: 被替换字符串。
String_out: 要替换字符串。
SQL> select  replace ('111222333444','222','888') from dual;
REPLACE('111
--------------------
111888333444
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP