Название: Работа с регулярными выражениями в SQL Server
Вид работы: статья
Рубрика: Информатика и программирование
Размер файла: 13.66 Kb
Скачать файл: referat.me-139016.docx
Краткое описание работы: В SQL Server 7/2000 нет встроенной поддержки работы с регулярными выражениями. Но SQL Server похволяет работать с COM-объектами. В VBScript (библиотека vbscript.dll) есть специальный объект для работы с регулярными выражениями - RegExp.
Работа с регулярными выражениями в SQL Server
Христофоров Юрий
В SQL Server 7/2000 нет встроенной поддержки работы с регулярными выражениями. Но SQL Server похволяет работать с COM-объектами. В VBScript (библиотека vbscript.dll) есть специальный объект для работы с регулярными выражениями - RegExp.
Ниже приведен код хранимой процедуры sp_RegExpReplace, которая позволяет заменять текст, удовлетворяющий заданному регулярному выражению на другой заданный текст в строке.
Текст процедуры sp_RegExpReplace:
CREATE PROCEDURE [dbo].sp_RegExpReplace @strIn1 varchar(8000), @strIn2 varchar(8000), @strPattern varchar(2000), @strOut varchar(8000) OUT AS DECLARE @object int, @hr int DECLARE @src varchar(255), @desc varchar(255) -- создаем объект RegExp для работы с регулярными выражениями EXEC @hr = sp_OACreate 'VBScript.RegExp', @object OUT IF (@hr <> 0) BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc RETURN END EXEC @hr = sp_OASetProperty @object, 'Pattern', @strPattern IF (@hr <> 0) BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc RETURN @hr END -- будет глобальная замена EXEC @hr = sp_OASetProperty @object, 'Global', 1 IF (@hr <> 0) BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc RETURN @hr END -- вызовметода Replace EXEC @hr = sp_OAMethod @object, 'Replace', @strOut OUT, @strIn1, @strIn2 IF (@hr <> 0) BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc RETURN @hr END -- удаляемобъект EXEC @hr = sp_OADestroy @object IF (@hr <> 0) BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc RETURN @hr END RETURN 0 |
Необходимо учитывать, что пользователь, от имени которого будет запускаться наша процедура, должен входить в роль sysadmin (это ограничение накладывают процедуры sp_OACreate, sp_OASetProperty, sp_OAMethod, sp_OADestroy).
Протестируем процедуру sp_RegExpReplace - удалим с ее помощью из заданной строки все HTML-теги.
DECLARE @strOut varchar(8000)
EXEC sp_RegExpReplace 'Этотестовый <b>тест</b> <p> текст',
'', '<.+?>', @strOut OUT
SELECT @strOut
GO
В результате значением переменной @strOut будет строка "Это тестовый тест текст".
Файлы SQL-скриптов прилагаются: sqlregexp.zip
Похожие работы
-
Методика развертывания Windows Compute Cluster Server 2003
Программное обеспечение Windows Compute Cluster Server (WCCS) 2003 позволяет создать экономически эффективное и мощное решение для высокопроизводительных вычислений, которое функционирует на стандартных компьютерах с архитектурой х64.
-
Разработка сложных web-проектов с использованием Microsoft Commerce Server 2000
Знакомство с Microsoft Commerce Server. Построение архитектуры приложения. Дополнительные инструменты Commerce Server 2000.
-
Вимоги до апаратного забезпечення ОС Win95/94/2000/Me/XP
Міністерство освіти і науки України Технічний коледж ТДТУ Реферат тему: “Вимоги до апаратного забезпечення ОС Win95/94/2000/Me/XP” Пiдготував студент
-
LAN Server 4.0
Общая характеристика. Управление сервером LAN Server 4.0. Совместимость с NetWare.
-
Wintermals Administrator's Pak
Наш сегодняшний рассказ - о наборе утилит, которые помогают решать весьма специфические задачи - Winternals Administrator's Pak 4.1. Инструменты, входящие в Winternals Administrator's Pak, помогут вам реанимировать Windows-системы.
-
Проверка непротиворечивости исходных описаний конечных автоматов
Сегодня сформированы практические потребности и имеются все условия, чтобы абстрактная теория конечных автоматов (КА) заняла достойное место в автоматизированном проектировании.
-
Інсталяція операційної системи на прикладі Microsoft Windows Server 2003 та Linux Ubuntu
Ubuntu — операційна система для робочих станцій, серверів. Короткі теоретичні відомості операційної системи Microsoft Windows Server 2003 та Linux Ubuntu. Встановлення операційної системи Microsoft Windows Server 2003 та Linux Ubuntu на віртуальну машину.
-
Рассылка
Описание возможности приложения. Подписка на рассылку, хранение данных. Файл ras.asp, файл ras_A.asp, файл ras_B, файл ras_C. Возможности программирования на языке ASP, который позволяет обрабатывать данные на стороне сервера. Регистрация рассылки.
-
Языки серверных скриптов
В последнее время Web-узлы перестают быть просто набором страниц и картинок. Все чаще создаются узлы, которые взаимодействуют с посетителем, выполняют какие-то действия, собирают данные, ведут подсчеты, самонастраиваются под предпочтения посетителя.
-
Регулярные выражения в perl
Регулярные выражения являются наиболее сложной темой практически для любого программиста: как для новичка, только что начавшего изучать perl, так и для опытного программиста, ранее не встречавшегося с регулярными выражениями.