SQL Server 2005 のデータベースにテーブルがあります。列の 1 つは XML データ型です。列の内容は次のようになります。
<info>This is a sample information .Anyone can help </info>
ここで、列の値の一部を応答としてテーブル内のデータをクエリしたいと考えています。ie : 私の希望する出力は、「これはサンプルです」です。
クエリは何ですか?部分文字列がエラーをスローしています
SQL Server 2005 のデータベースにテーブルがあります。列の 1 つは XML データ型です。列の内容は次のようになります。
<info>This is a sample information .Anyone can help </info>
ここで、列の値の一部を応答としてテーブル内のデータをクエリしたいと考えています。ie : 私の希望する出力は、「これはサンプルです」です。
クエリは何ですか?部分文字列がエラーをスローしています
これを行うには、次の 2 つの方法があります。
1) XML からテキスト全体を取得し、SQL にその部分文字列を取得させます。
SELECT SUBSTRING(tablename.columnname.value('(/info)[1]', 'varchar(max)'), 1, 17)
2) 代わりに、XQuery に XML テキストから部分文字列を直接取得させます。
SELECT tablename.columnname.value('substring(string((/info)[1]), 1, 17)')