powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Запрос на поиск символа в троке
5 сообщений из 5, страница 1 из 1
Запрос на поиск символа в троке
    #34753051
Gida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите с SQL запросом. Есть строка:
ABV 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 000 00

Необходимо выбрать те строки, в которых после букв DDD 17, 18, или 19 символ не равен нулю.
Получается, надо выбрать все строки начинающиеся с ABV, затем в них найти DDD,а за DDD стоящие по счету 17,18 или n...не равен 0.
...
Рейтинг: 0 / 0
Запрос на поиск символа в троке
    #34753628
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уточните задачу, т.к. в 1-м и 2-м предложениях она разная.
...
Рейтинг: 0 / 0
Запрос на поиск символа в троке
    #34753777
Gida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть строки:
ABV 11 11: 977 777 999 00 8 7 6 54 3232 SSS 777 8889 900 000 00
ABV 11 11: 977 667 949 10 8 7 6 54 3232 ADD 777 8889 700 004 00
GGG 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 000 00
ABV 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 000 00
ABV 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 001 20

Необзодимо чтобы в результирующее множество попали строки, начинающиеся с ABV, в которых были бы DDD,а за DDD стоящий по счету 17-ый и/или 19-ый и/или 20-ый символ не равен 0.
Таким образом должна попасть только 5 строка.
...
Рейтинг: 0 / 0
Запрос на поиск символа в троке
    #34753870
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with t(v) as (
values
  ('ABV 11 11: 977 777 999 00 8 7 6 54 3232 SSS 777 8889 900 000 00')
, ('ABV 11 11: 977 667 949 10 8 7 6 54 3232 ADD 777 8889 700 004 00')
, ('GGG 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 000 00')
, ('ABV 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 000 00')
, ('ABV 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 001 20')
)
select substr(v, nullif(locate('DDD', v),  0 )+ 19 ,  4 ), v
from t
where v like 'ABV%'
and substr(v, nullif(locate('DDD', v),  0 )+ 19 ,  4 ) not like '0_00'
...
Рейтинг: 0 / 0
Запрос на поиск символа в троке
    #34755573
Gida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with t(v) as (
values
  ('ABV 11 11: 977 777 999 00 8 7 6 54 3232 SSS 777 8889 900 000 00')
, ('ABV 11 11: 977 667 949 10 8 7 6 54 3232 ADD 777 8889 700 004 00')
, ('GGG 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 000 00')
, ('ABV 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 000 00')
, ('ABV 11 11: 977 777 999 00 8 7 6 54 3232 DDD 777 8889 900 001 20')
)
select substr(v, nullif(locate('DDD', v),  0 )+ 19 ,  4 ), v
from t
where v like 'ABV%'
and substr(v, nullif(locate('DDD', v),  0 )+ 19 ,  4 ) not like '0_00'


Большое спасибо, добрый человек :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Запрос на поиск символа в троке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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