にREPLACE()関数を使用した後、私は、私はすべてのタグを削除するには、REPLACE関数を使用していSQL-Serverの:複数行に分割選択値は、結果
1.<content><value>foo</value><value>bar</value></content>
2.<content><value>value3</value><value>value4</value></content>
のような値を含むテーブルを持って(コンテンツおよび値)と私は;
select CAST(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(CAST(TEXTVALUE as NVarchar(MAX))
,'<content>',''),'<value>','')
,'</value>',';')
,' ','')
,'</content>','')
AS NText) from dbo.mytable ...
私のSELECT文の出力に</value>
を置き換える値を区切るためには、次のようになります
1.foo;bar
2.value3;value4
しかし - 私は、値ごとに新しい行を返すために、このselect文を分割したいと思います:
1. foo
2. bar
3. value3
4. value4
私は複数行にselect文の結果を分割して答えとメソッドをたくさん見てきました、最初に値の一部を置き換え、その結果を文字ごとに複数の行に分割する方法はありませんでした。
ここで私を助けてくれることを願っています。
編集:ありがとうございました。追加することを忘れて、同じリクエスト内の他の列も選択できるようにしたいと思います。
です。 –
SQL Server 2016以降で[STRING_SPLIT関数](https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql)を使用することもできます。 。 – kirchner