Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 学习之:ASCII,CHR函数的作用和用法

对于ASCII以及CHR函数的用法,Oracle给出的解释是:
 
ASCII(x)gets the ASCII value of the character X, CHR() and ASCII() have the opposite effect.
 
即:ASCII函数是用于将字符转换成其相应的ASCII码,而CHR函数作用则恰好相反;
 
下面我来看一些简单的例子:
 
SELECT ASCII("x"), ASCII("y"),ASCII("z") from dual;
 
语句执行的结果为 120,121,122(即字符x,y,z对应的ASCII码分别为120,121,122)。那么SELECT CHR("120"), CHR("121"),CHR("122") from dual;的结果我们应该很容易知道。上面我们的例子中都是单个字符,那么如果是多个字符会有什么结果呢?SELECT ASCII("xy") from dual;结果为120;SELECT ASCII("x") from dual;结果为120。从这两个例子中可能我们已经看出了什么。
 
"ASCII gives the ascii value of the first character of  a string"即:ASCII函数只对你给出的字符串中的第一个字符起作用;
 
        最后我们再介绍几个常用的chr()函数,chr(9);chr(10);chr(13);chr(32);chr(34),其中chr(9)是tab,chr(10)是换行符,chr(13)是回车符,chr(32)是空格符,chr(34)是双引号“"”。
 
        可能有人会对回车和换行有些分不清,因为平常这两个符号是合在一起使用的。回车即回到行首,换行即换到下一行。那我们在oracle中用chr(13)和chr(10)会有区别吗?(结果没有区别,因为现在的语言会自动把它们转成“回车换行”)。即
 
declare
 
begin
 
  dbms_output.put_line("huiche");
 
  dbms_output.put_line(chr(10));
 
  dbms_output.put_line("hhh");
 
end;
 

 
declare
 
begin
 
  dbms_output.put_line("huiche");
 
  dbms_output.put_line(chr(13));
 
  dbms_output.put_line("hhh");
 
end;
 
两个块输出的结果是完全一样的。Oracle 学习之:for循环中包涵select语句通过存储过程自动生成AWR报告相关资讯      Oracle学习 
  • Oracle学习之数据库数据保存成文件  (01月27日)
  • Oracle学习教程:认识 v$segment_  (05/16/2013 06:01:19)
  • 学习Oracle需要掌握的重要知识点  (06/04/2013 16:27:40)
  • Oracle 学习之:for循环中包涵  (05/14/2013 19:27:27)
本文评论 查看全部评论 (0)
表情: 姓名: 字数