日期:2014-05-17  浏览次数:21627 次

Oracle里用spool生成的csv文件如何把项目里的空格去掉?
SET trimout on;
SET trimspool on;
SET trims on;

设定里,能加上的都加了,还是不好用,有的项目空格被去掉,有的没有,si object browser打开没有发现数据有空格,
类型是VARCHAR2的。
偏偏生成出来的csv文件里有,难道还有别的什么属性要设置吗?哪位大虾给支个招。

------解决方案--------------------
SET trims on;
决定SQL*PLUS在每一显示行的末端是否允许带空格.
而不能把每个字段中的空格去掉。。
------解决方案--------------------
si object browser打开没有发现数据有空格,
偏偏生成出来的csv文件里有,难道还有别的什么属性要设置吗

CSV文件默认应该是使用EXCEL打开的吧,使用文本编辑器NOTEPAD打开应该就没有问题的
------解决方案--------------------
探讨
大虾们起床了吗?

------解决方案--------------------
有的项目空格被去掉,有的没有
+
用文本打开,还是有空格

=========================================
直接怀疑内容里包含空格,或者 制表符(TAB)

建议,先查一下内容,看是否包含这些字符,有的话,直接replace,再导出
------解决方案--------------------
要去字段里的空格?
要么用select regexp_replace(字段名,' ','') from 表;
例子:
SQL code
select regexp_replace('a b c',' ','') from dual;

结果是abc
------解决方案--------------------
select regexp_replace('a b c',' ','') from dual;
------解决方案--------------------
探讨
我怀疑spool的生成就是按照字段定义的位数去自动补充空格的,,因为trim已经去掉了的,