2017-03-17 3 views
-1

PLSQLでは、xmlファイルを開き、いくつかのxpath式を使用するためにDBMS_XSLPROCESSOR.selectNodesでいくつかのノードを読み取ります。PLSQL:xpathからの値の前にいくつかの文字があります

すべては問題ありませんが、1つの種類のノードだけでは、(良いものです)値は文字列の前にいくつかの文字があります。私はそれがいくつかのスペースだと思った。

テーブルに値を挿入すると、文字はそのまま残っていて、オフセットのようなものがあります。

あなたはそれが何であるか知っていますか?それが何であるかを発見する方法は?どのようにそれを取り除く?

注:これらの文字は空白ではないため、トリムは機能しません。

注2:XMLは

通常であるように思わは、あなたが、データベースソリューションを探している場合はSQL dump()関数はあなたに文字列の各文字のASCII値が表示されますあなたの

答えて

0

ありがとうございます。それを退治するためとして

SQL> select dump('WHAT IS THIS?') from dual 
    2/

DUMP('WHATISTHIS?') 
----------------------------------------------------- 
Typ=96 Len=13: 87,72,65,84,32,73,83,32,84,72,73,83,63 

SQL> 

、あなたはtranslate()を使用することができます。

SQL> with cte as (select chr(11) || chr(23) || 'WHAT IS THIS?' || chr(23) as str from dual) 
    2 select str 
    3  , dump(str) as dump_str 
    4  , translate(str, 'z'||chr(11)||chr(23), 'z') as cleaned_str 
    5 from cte 
    6/

STR    DUMP_STR 
---------------- ------------------------------------------------------------- 
CLEANED_STR 
------------- 

WHAT IS THIS? 
       Typ=1 Len=16: 11,23,87,72,65,84,32,73,83,32,84,72,73,83,63,23 
WHAT IS THIS? 


SQL> 

うーん。 StackOverflowはSQL出力の​​非印字文字を抑止していますので、実際に実行せずに何が起きているのか分かりにくいです。

関連する問題