0

次の値のテーブル列があります。

Column-desc
------------------
"car broken"
"motorcycle broken"
"motorcycle clean"
"motorcycle clean and broken"
------------------

そして私はこれを返す選択をする必要があります:

return-desc1 | return-desc2 | return-desc3 |return-desc4 
------------------------------------------------------
car          |  broken      |              |
motorcycle   |  broken      |              |
motorcycle   |  clean       |              |
motorcycle   |  clean       | and          | broken
-------------------------------------------------------

(はい、最大llは4つの説明を返します)。この場合、正規表現を使用できますか?

これが役立つ場合:私はOracle10gを使用しています

4

2 に答える 2

3
select
    regexp_substr("Column-desc", '\S+', 1, 1) as "return-desc1",
    regexp_substr("Column-desc", '\S+', 1, 2) as "return-desc2",
    regexp_substr("Column-desc", '\S+', 1, 3) as "return-desc3",
    regexp_substr("Column-desc", '\S+', 1, 4) as "return-desc4"
from your_table
于 2013-03-13T13:55:56.397 に答える
0

正直なところ、私の提案は、column-descを取得し、プログラミング層で分割作業を行うことです。そうすれば、より簡単で、おそらくより最適になります。

于 2013-03-13T13:48:46.083 に答える