次のクエリで上記のエラーが発生しています-約30分間実行した後でのみです。
この時間の後にのみエラーが発生するので、** .EXTRACT
** など、クエリの最後に何かが原因であるかどうか疑問に思っていましたか?
TO_CHAR
Xmlelement のすべての項目に対してandを使用してみNVL
ましたが、どちらも役に立ちませんでした。
ただし、同じ構造 (Rtrim / Xmlagg / Xmlelement) を列 2 から 6 に個別に使用すると、正常に動作します (その方法では役に立ちません)。
Listagg も機能しますが、十分な文字数を使用できません。
誰かが私がここで間違っていることを教えてもらえますか?
エラーメッセージ:
ORA-01722 ... NUMBER の使用が無効です。
私のクエリ:
SELECT
a.column1 AS ID
, RTRIM
(
XMLAGG
(
XMLELEMENT
(
e, 'Column2: ' || b.column2 ||
'Column3: ' || SUBSTR(c.column3, 1, 50) || '...' ||
'Column4: ' || b.column4 ||
'Column5: ' || TO_CHAR(b.column5, 'FM9,990.00') ||
'Column6: ' || TO_CHAR(b.column6, 'FM9,990.00') ||
'---'
) ORDER BY b.column2
).EXTRACT('//text()'), ','
) AS AD
, TO_CHAR(b.column7, 'FM9,990.00') AS GN
, TO_CHAR(b.column8, 'FM9,990.00') AS GU
, TO_CHAR((b.column7 + b.column8), 'FM9,990.00') AS GB
FROM
/* ... */
ここでの問題は、私','
が EXTRACT セパレーターとして使用していることですが、列の値のどこかにコンマが含まれている可能性がありますか?
更新:
列 5 と 6 の行を取り出すと、機能します。列4も数値形式であるため、形式が原因ではありません。
どんな助けでも大歓迎です、
マイク