Bunu oldukça kolay bir şekilde yapabilmelisiniz:
SELECT *
FROM WebPageContent
WHERE data.value('(/PageContent/Text)[1]', 'varchar(100)') LIKE 'XYZ%'
.value
Yöntem, gerçek değeri verir ve sonra bir gibi bir ifade kontrol bir VARCHAR () olarak döndürülecek bu tanımlayabilir.
Unutmayın, bu çok hızlı olmayacak. Dolayısıyla, XML'nizde çokça incelemeniz gereken belirli alanlar varsa, şunları yapabilirsiniz:
- XML'yi alan ve aradığınız değeri bir VARCHAR () olarak döndüren depolanmış bir işlev oluşturun
- Tablonuzda bu işlevi çağıran yeni bir hesaplanan alan tanımlayın ve onu DEVAMLI bir sütun yapın
Bununla, temelde XML'in belirli bir bölümünü hesaplanan bir alana "çıkarırsınız", onu kalıcı hale getirirsiniz ve sonra üzerinde çok verimli bir şekilde arama yapabilirsiniz (heck: bu alanı bile INDEX yapabilirsiniz!).
Marc