度量快速开发平台-专业、快速的软件定制快开平台

标题: oracle中ASCII以及CHR函数 [打印本页]

作者: 张兴康    时间: 2020-7-1 17:48
标题: 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)是tabchr(10)是换行符chr(13)是回车符chr(32)是空格符chr(34)是双引号“"”
回车即回到行首,换行即换到下一行。那我们在oracle中用chr(13)和chr(10)会有区别吗?结果没有区别,因为oracle会自动把它们转成“回车换行”。即

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;
两个块输出的结果是完全一样的。


作者: 陈晓龙    时间: 2020-7-2 13:43
很少用呀!
作者: 张兴康    时间: 2020-7-2 17:34
陈晓龙 发表于 2016-2-2 13:43
很少用呀!

恩,所以要收藏起噻
作者: 陈晓龙    时间: 2020-7-3 11:34
张兴康 发表于 2016-2-2 17:34
恩,所以要收藏起噻

不收藏这个,因为很少用。
作者: 张兴康    时间: 2020-7-3 16:07
陈晓龙 发表于 2016-2-3 11:34
不收藏这个,因为很少用。

就是因为少用,所以如果要用的时候,找不到怎么办
作者: 陈晓龙    时间: 2020-7-18 14:22
张兴康 发表于 2016-2-3 16:07
就是因为少用,所以如果要用的时候,找不到怎么办

好嘛,还是听你的!
作者: 张兴康    时间: 2020-7-19 09:13
陈晓龙 发表于 2016-2-18 14:22
好嘛,还是听你的!

这就对了
作者: 陈晓龙    时间: 2020-7-19 11:41
张兴康 发表于 2016-2-19 09:13
这就对了


作者: 张兴康    时间: 2020-7-19 13:49
陈晓龙 发表于 2016-2-19 11:41


作者: 王爱东    时间: 2020-7-19 16:30
这个可以使用。
作者: 王爱东    时间: 2020-7-19 16:31
要学会使用这些基本的




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2