列を複数の行に分割する必要があります。列には文字列が格納されており、区切り文字を分割する必要があります。'/n'
SQL区切り文字 '/ n'に基づいて列(文字列)を複数の行に分割する正規表現
以下の文章を書いてあります。しかし、^[/n]
を指定することはできません。文字列の他の'n'
も削除されています。 と '[^/N] +' のいずれか構文的に良くありませんあなたは[::CNTRL] []は、クラスを使用する必要がある文字列
WITH sample AS
(SELECT 101 AS id,
'Name' test,
'3243243242342342/n12131212312/n123131232/n' as attribute_1,
'test value/nneenu not/nhoney' as attribute_2
FROM DUAL
)
-- end of sample data
SELECT id,
test,
regexp_substr(attribute_1,'[^/n]+', 1, column_value),
regexp_substr(attribute_2,'[^/]+', 1, column_value)
FROM sample,
TABLE(
CAST(
MULTISET(SELECT LEVEL
FROM dual
CONNECT BY LEVEL <= LENGTH(attribute_1) - LENGTH(replace(attribute_1, '/n')) + 1
) AS sys.OdciNumberList
)
)
WHERE regexp_substr(attribute_1,'[^/n]+', 1, column_value) IS NOT NULL
/
文字列 '/ n'を分割する必要がありますか、新しい行ですか? – Aleksej
こんにちは、あなたは[[:cntrl:]]クラス – Thomas
と '[^/n] +'のどちらも構文的には良いとは思わないと思っています。 – Thomas