Извлечь все ссылки из таблицы базы данных с помощью SQL? - PullRequest
1 голос
/ 21 октября 2011

Мне нужно извлечь все ссылки из базы данных, чтобы я мог создать перезапись URL.Используя оператор SQL, как я могу извлечь только ссылки из таблицы?Иногда в ячейке имеется более одной ссылки, что еще больше усложняет ее.Любая идея о том, как этого добиться?

РЕДАКТИРОВАТЬ Примером этого может быть: SELECT myval FROM htmlcontrols.«myval» содержит строку HTML, например «<div>Hi this is a test. <a href="somewhere.htm">Click here</a> or <a href="http://somewhereelse.com/testarea">here</a></div>».Я хочу такую ​​выписку:

LINKS
-----
somewhere.htm
http://somewhereelse.com/testarea

1 Ответ

0 голосов
/ 21 октября 2011

Вам, вероятно, лучше либо обработать это на стороне клиента, итеративно просматривая поля и анализируя HTML, чтобы затем снова вставить их в любую таблицу / столбцы, которые вам нужны; или, по крайней мере, создает UDF , который может эффективно выполнять синтаксический анализ.

Обратите внимание, что ссылка, которую я разместил выше, является реализацией функции UDF RegEx, но Я не , предлагая обязательно использовать RegEx для разбора HTML, поскольку это почти всегда плохая идея .

Если вы используете функцию CLR, взгляните на HTMLAgilityPack

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...