Определение числа слов BLOB-значения

Функция

Определение числа слов BLOB-значения, соответствующих указанному шаблону.

Спецификация
 
< синтаксис >::=
Синтаксические правила
  1. < Имя столбца > должно соответствовать столбцу с BLOB-данными.

  2. BLOB-значение должно состоять из набора слов (последовательность алфавитно-цифровых символов), разделителем которых может быть любой другой символ.

  3. < Шаблон поиска > может содержать стандартные специальные символы: подчеркивание «_» представляет собой указатель на произвольный символ, процент «%» - указатель на подстроку (возможно, пустую).

  4. В < шаблоне поиска > допустим < UNICODE-литерал >.

  5. Поиск выполняется во всех BLOB-значениях, получаемых в < запросе выборки >.

  6. В случае, если < шаблон поиска > имеет символьный тип, то выполняется поиск символьных строк; если < шаблон поиска > имеет UNICODE-тип, то выполняется поиск UNICODE-строк.

  7. Значение и шаблон поиска приводятся в верхнему регистру.

  8. Аргумент < шаблон поиска > может быть задан < 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|
Возвращаемое значение
  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