Определение числа слов BLOB-значения
Функция
Определение числа слов BLOB-значения, соответствующих указанному шаблону.
Спецификация
::=
::=
Синтаксические правила
-
< Имя столбца >
должно соответствовать столбцу с BLOB-данными. -
BLOB-значение должно состоять из набора слов (последовательность алфавитно-цифровых символов), разделителем которых может быть любой другой символ.
-
< Шаблон поиска >
может содержать стандартные специальные символы: подчеркивание «_» представляет собой указатель на произвольный символ, процент «%» - указатель на подстроку (возможно, пустую). -
В
< шаблоне поиска >
допустим< UNICODE-литерал >
. -
Поиск выполняется во всех BLOB-значениях, получаемых в
< запросе выборки >
. -
В случае, если
< шаблон поиска >
имеет символьный тип, то выполняется поиск символьных строк; если< шаблон поиска >
имеет UNICODE-тип, то выполняется поиск UNICODE-строк. -
Значение и шаблон поиска приводятся в верхнему регистру.
-
Аргумент
< шаблон поиска >
может быть задан< SQL-параметром >
, который должен содержать спецификацию типа данных параметра.create or replace table tst (I int, bl blob); insert into tst values (1, '11 222 334 55 11'); select countblob(bl, ? (char(2))) from tst; %1 | 2|
Возвращаемое значение
-
Возвращается число найденных соответствий заданному шаблону.
-
Тип возвращаемого значения – INT.
Пример
SELECT FName,COUNTBLOB(TextBlob, 'стандарт%') FROM fb ORDER BY FName; SELECT Author FROM Da WHERE COUNTBLOB(Da.ArticleText, 'Russian') >=10; Скрипт tst.sql: create or replace table test(id int, bl blob); insert into test(id,bl) values(1, NULL); blob insert column=2 46006900720073007400200043007500730074006F006D0065007200; insert into test(id,bl) values(2, NULL); blob insert column=2 31002000420065006400; insert into test(id,bl) values(3, NULL); blob insert column=2 6200620062006200; !Найдено select id from test where CountBLOB(bl,n'bbbb') > 0; id | 3| !Ничего не найдено: select id from test where CountBLOB(bl,'bbbb') > 0; Выполнение inl -u SYSTEM/MANAGER8 -f tst.sql