1

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.

トリムを入れてもスペースを削除するには?

4

1 に答える 1

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 tab AS SELECT DBMS_LOB.SUBSTR(clob_col) from tab@dbs2;

...

クエリの ORDER BY 句、クエリの GROUP BY 句、または集計関数で LOB 列を指定することはできません。

SELECT... DISTINCT または SELECT... UNIQUE ステートメント、または結合で LOB 列を指定することはできません。ただし、列のオブジェクト型に MAP または ORDER 関数が定義されている場合は、SELECT... DISTINCT ステートメント、または UNION または MINUS 集合演算子を使用するクエリでオブジェクト型列の LOB 属性を指定できます。..(これらが役立つことを願っています)..ありがとう

于 2013-05-10T04:03:50.580 に答える