ltrim,和rtrim未能除去0D0A的空格

suncheng_hong 2008-05-22 10:29:15
用pl/sql查看,我要去掉的空格的二进制码是 0D0A,
如果是20的空格,都能除去.
请问如何去除0D0A的空格.
...全文
349 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
suncheng_hong 2008-05-23
  • 打赏
  • 举报
回复
更正
    
l_status := trim(both chr(13) from status);
l_status := trim(both chr(10) from l_status);
suncheng_hong 2008-05-23
  • 打赏
  • 举报
回复
但用pl/sql test一下.
条件是可以进入的.
suncheng_hong 2008-05-23
  • 打赏
  • 举报
回复
奇怪,对pl/sql测试通过,sql却不行.

pl/sql function:

create or replace function statusToDec(
status in varchar2
) return number
IS
l_dec number;
l_status varchar2(20);

begin

l_status := trim(both chr(13) from status);
l_status := trim(both chr(10) from status);
l_dec := 0;
if l_status = '优' then l_dec := 1;
elsif l_status = '良' then l_dec := 2;
elsif l_status = '轻微污染' then l_dec := 3;
elsif l_status = '轻度污染' then l_dec := 4;
elsif l_status = '中度污染' then l_dec := 5;
elsif l_status = '中度重污染' then l_dec := 6;
elsif l_status = '重度污染' then l_dec := 7;
elsif l_status = '重污染' then l_dec := 8;
end if;
return l_dec;
end statusToDec ;



sql:调用上面的function

select tt.* from
(select to_char(t.oper_date,'yyyy') year,
sum(
decode(
sign(statusToDec(t.status)-1),-1,1,0
)
) betterDay
,
floor((sum(
decode(
sign(statusToDec(t.status)-1),-1,1,0
)
)/365)*100)||'%' betterPercent
,
sum(
decode(
sign(statusToDec(t.status)-1),1,1,0
)
) badDay
,
floor((sum(
decode(
sign(statusToDec(t.status)-1),1,1,0
)
)/365)*100)||'%' badPercent
,
sum(
decode(
sign(statusToDec(t.status)-1),0,1,0
)
) equalDay
,
floor((sum(
decode(
sign(statusToDec(t.status)-1),0,1,0
)
)/365)*100)||'%' equalPercent
from city_day t
where t.city='长沙'
group by to_char(t.oper_date,'yyyy')
) tt



从执行结果来看,
l_dec 始终为 0
条件没有进入.
glkgdj 2008-05-23
  • 打赏
  • 举报
回复
参考这个就可以了
oracle中将字符替换为回车换行符
http://www.sosdb.com/jdul/dispbbs.asp?boardid=4&id=719&star=1&page=1

hebo2005 2008-05-22
  • 打赏
  • 举报
回复
好像是软回车
wffffc 2008-05-22
  • 打赏
  • 举报
回复
0D0A好像不是空格吧?
hebo2005 2008-05-22
  • 打赏
  • 举报
回复
试试这个
replace(字符串,chr(10),'')
suncheng_hong 2008-05-22
  • 打赏
  • 举报
回复
你0D0A的空格能打出来吗?
怎么打印出来呢?
hebo2005 2008-05-22
  • 打赏
  • 举报
回复
你0D0A的空格能打出来吗?
能打出来的,就把它用replace全替换成20的空格不就行了
然后trim(替换好的字符串)

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧