Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Поддерживает ли СУБД IBM DB2 использование квадратных скобок в шаблоне оператора LIKE? / 5 сообщений из 5, страница 1 из 1
08.01.2015, 00:42
    #38849970
SGorr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поддерживает ли СУБД IBM DB2 использование квадратных скобок в шаблоне оператора LIKE?
Выражение в квадратных скобках трактуется как […] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.

При работе приложения с DB2 в качестве сервера субд данный функционал не работает. Поддерживает ли дб2 квадратные скобки в принципе или что-то в субд настроено неверно?

Перерыл пол инета, но скольнибудь вменяемой информации по данному вопросу так и не смок найти.
...
Рейтинг: 0 / 0
08.01.2015, 12:03
    #38850083
Поддерживает ли СУБД IBM DB2 использование квадратных скобок в шаблоне оператора LIKE?
SGorr,

то что тебе нужно - суть есть "регулярные выражения". вот про них и ищи.
...
Рейтинг: 0 / 0
08.01.2015, 12:08
    #38850090
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поддерживает ли СУБД IBM DB2 использование квадратных скобок в шаблоне оператора LIKE?
SGorr,

В LIKE не поддерживается.

Вы можете использовать функцию fn:matches для поиска с помощью регулярных выражений.
Наверное, удобно обернуть ее как-то так.
regexp_match
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create function regexp_match(
  source varchar(4000)
, pattern varchar(128)
, flags varchar(4)
)
deterministic
no external action
returns int
return xmlcast(
xmlquery('fn:matches($s, $p, $f)' passing 
  source as "s"
, pattern as "p"
, flags as "f"
)
as int);


И использовать, например, так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
select *
from table(values 'abcd', '0123') t(v)
where regexp_match(t.v, '[a-z]+', '')=1

V   
----
abcd
...
Рейтинг: 0 / 0
12.01.2015, 19:58
    #38852577
SGorr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поддерживает ли СУБД IBM DB2 использование квадратных скобок в шаблоне оператора LIKE?
Благодарю за ответ, только как это можно использовать вместо LIKE из под 1С ведь Like когда 1С крутится на DB2 не поддерживает этих самых квадратных скобок?
...
Рейтинг: 0 / 0
12.01.2015, 20:09
    #38852584
SGorr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поддерживает ли СУБД IBM DB2 использование квадратных скобок в шаблоне оператора LIKE?
Странно, что дб2 не поддерживает скобок - ms sql их таки поддерживает вполне неплохо. То, что вы предложили очевидно называется хранимой процедурой. Но как к обратиться к процедуре из текста запроса 1С мне совсем не очевидно.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Поддерживает ли СУБД IBM DB2 использование квадратных скобок в шаблоне оператора LIKE? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]