質問: SQL Server ある列の各レコード内にXMLフォーマットで行数23行ぐらいのデータが格納されています。カラムのデータタイプ自体はvarcharで指定されております。 この各レコード行からXXXXような特定タグの開始と終了部分の行のみを抜き出し、新しい別カラムとして保存したいのですが、カラムがXMLデータタイプではないためかXMLデータ操作用の関数がクエリで使えない事が分かりました。また以下のようなwhere句を使ってもレコード全体が取れてしまい目的の情報だけをうまく抜き出す事ができておりません。このようなタグを含むデータが数万行とかなり多くヒットするため少ない必要な情報だけを一覧化したいと思ったのがきっかけです。 select * from テーブル名 where 列名 like '%%' どなたか何か良い方法があればご教授頂けますでしょうか?
回答: > > カラムがXMLデータタイプではないためかXMLデータ操作用の関数がクエリで使えない事が分かりました。 > > > XML型にCASTしても使えないのでしょうか?それともCASTでエラーになるのでしょうか? XML データのインスタンスの作成 > > 必要な情報だけを一覧化したい > > > CASTが可能なら、XQueryでの検索も可能です。 XQuery 言語リファレンス (SQL Server)