質問への回答は、使用している xml スキーマに大きく依存します。たとえば、属性 xml を次のように使用している場合:
'<Item ID="1" Visibility="1" />'
次のクエリでアイテムをフィルタリングできます。
select *
from temp
where data.exist('Item[@Visibility = "1"]') = 1
これを見てsql fiddle demo
xml の正確なスキーマが得られない限り、これ以上正確に回答することは困難です。
アップデート
したがって、DevExpress 設定 xml がデータベース内に保存されているようです。したがって、単純化された xml が次のような場合:
<XtraSerializer version="1.0" application="View">
<property name="Columns" iskey="true" value="9">
<property name="colFirstChoiceVendorPaymentTerms" isnull="true" iskey="true">
<property name="Visible">true</property>
</property>
<property name="colSecondChoiceVendorPaymentTerms" isnull="true" iskey="true">
<property name="Visible">false</property>
</property>
</property>
</XtraSerializer>
次に、次のようにクエリできます。
select
data.value('(XtraSerializer/property/property[@name="colFirstChoiceVendorPaymentTerms"]/property[@name="Visible"])[1]', 'bit') as first,
data.value('(XtraSerializer/property/property[@name="colSecondChoiceVendorPaymentTerms"]/property[@name="Visible"])[1]', 'bit') as second
from temp
sql fiddle demo
更新 2
データ型が text/varchar の場合は、次を試してください。
select
c.data_xml.value('(XtraSerializer/property/property[@name="colFirstChoiceVendorPaymentTerms"]/property[@name="Visible"])[1]', 'bit') as first,
c.data_xml.value('(XtraSerializer/property/property[@name="colSecondChoiceVendorPaymentTerms"]/property[@name="Visible"])[1]', 'bit') as second
from temp as t
outer apply (select cast(t.data as xml) as data_xml) as c