2012-03-20 8 views
1

複数の行の文字列を別々の行に解析する必要があります。私は長い時間のためのソリューションで検索しましたが、私が見つけたすべてのコードは、Sybaseで非常にうまく動作しませんでした(私はSybaseが表として返すサポートしていないので、それがあると仮定?)例えばSybaseで複数の行(文字列)を解析する方法は?

、私はこのようなテーブルを持っている:

id | text 
------------------------------------ 
1  | Stackoverflow.is.awesome 
2  | Sybase.never.sleeps 

理想的な結果は次のようにする必要があります:

id | text 
----------------------------------- 
1  | Stackoverflow 
1  | is 
1  | awesome 
2  | Sybase 
2  | never 
2  | sleeps 

私は解析する10,000行を持っているので、私は実際にこれを行うための最も効率的な方法を探しています。どんな助けでも本当にありがとう!ありがとう

+0

データベースでこれを行う方法があるかもしれませんが、他のどこかのコードでこれを行うのと同じくらい効率的に近い場所にはありません。 DB処理言語は、効率的な文字列解析を実行するために構築されていません。 –

+1

あなたは次のリンクをチェックアウトしたいかもしれません。 http://codebetter.com/raymondlewallen/2005/10/26/quick-t-sql-to-parse-a-delimited-string/ – dom

答えて

0

これを行うには2通りの方法があります。文字列をコード(C#、Perl、Javaなどのほとんどの言語)で分割して、そのような関数をサポートすることができます。また、Sybaseでpatindex関数を使用して独自の分割関数を作成し、デリミタのインデックスを取得してからsubstring関数を使用して、区切り文字列を抽出することができます。domがコメントに記載されています。

+0

ありがとう、私はループを使用して各セルを再帰的に解析して1つにダンプします列、本当に理想的ではないと効率的です。 – lumengxi

関連する問題