Доступные версии документации

Определение числа слов 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/MANAGER -f tst.sql
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter