Обратите внимание, что оборотная сторона сборки "мусора" Вашего репозитория - то, что, ну, в общем, мусор собран. Как все мы знаем как пользователей компьютера, файлы, которые мы рассматриваем, мусор прямо сейчас мог бы оказаться очень ценным три дня в будущем. То, что мерзавец имеет в наличии большинство его обломков, несколько раз убиралось подобру-поздорову †“путем просмотра всех повисших фиксаций, я восстановил много работы, которую я имел случайно консервированный.
Так don’t быть слишком большим количеством аккуратного пятна в Ваших частных клонах. There’s мало потребности в нем.
OTOH, значение восстанавливаемости данных сомнительно для repos, используемого главным образом в качестве пультов ДУ, например, места все нажатие devs к и/или вытянутый от. Там, могло бы быть разумно начать выполненный GC и переупаковка часто.
Вы можете сделать это довольно легко:
SELECT *
FROM WebPageContent
WHERE data.value('(/PageContent/Text)[1]', 'varchar(100)') LIKE 'XYZ%'
Метод .value
дает вам фактическое значение, и вы можете определить это должно быть возвращено как VARCHAR (), которое вы затем можете проверить с помощью оператора LIKE.
Имейте в виду, это не будет очень быстро. Итак, если у вас есть определенные поля в вашем XML, которые вам нужно много проверять, вы можете:
. Таким образом, вы в основном "извлекаете" определенную часть XML в вычисляемое поле, сохраняете ее, а затем можете выполнять поиск очень эффективно (черт возьми: вы даже можете ИНДЕКСИРОВАТЬ это поле!).
Marc
Это то, что я собираюсь использовать на основе ответа marc_s:
SELECT
SUBSTRING(DATA.value('(/PAGECONTENT/TEXT)[1]', 'VARCHAR(100)'),PATINDEX('%NORTH%',DATA.value('(/PAGECONTENT/TEXT)[1]', 'VARCHAR(100)')) - 20,999)
FROM WEBPAGECONTENT
WHERE COALESCE(PATINDEX('%NORTH%',DATA.value('(/PAGECONTENT/TEXT)[1]', 'VARCHAR(100)')),0) > 0
Возвращает подстроку в поиске, в котором существуют критерии поиска