我在从Oracle中的CLOB列中删除空间时遇到问题。我试图在SQL中使用CLOB格式和修剪,但空间仍然存在。我的字段是使用字符串文本。我不希望文字中有空格。任何人都知道如何解决这个问题?
这是我的SQL:
select distinct
UPPER(ks.NAMA) BPMNAMA,
trim(upper(nvl(DBMS_LOB.SUBSTR(ks.sekatan, 4000, 1),'TIADA'))) sekatnama,
UPPER(ks.NAMA) DAERAHNAMA,
UPPER(ks.nama) gunatanah
from
guna_tanah ks
例如:
TANAH INI TIDAK BOLEH DI PINDAHMILIK,DISEWA ATAU DIPAJAK
KECUALI DENGAN KEBENARAN PIHAK BERKUASA NEGERI。塞卡坦
KEPENTINGAN INI DIKECUALIKAN KEPADA PEMBELI PERTAMA。
如果我修剪了这个空间,怎么去除空间呢?
答案 0 :(得分:1)
使用regexp_replace(ks.sekatan, '[[:space:]]',null)
请参阅此链接:
http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm
... ...但是,不支持以下语句,因为DBMS_LOB.SUBSTR返回LOB:
CREATE TABLE选项卡AS SELECT DBMS_LOB.SUBSTR(clob_col)来自tab @ dbs2;
...
您不能在查询的ORDER BY子句中,或在查询的GROUP BY子句中或在聚合函数中指定LOB列。
您无法在SELECT ... DISTINCT或SELECT ... UNIQUE语句或连接中指定LOB列。但是,如果列的对象类型上定义了MAP或ORDER函数,则可以在SELECT ... DISTINCT语句或使用UNION或MINUS集合运算符的查询中指定对象类型列的LOB属性。 .. (希望这些有帮助)..谢谢