Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / нахождение данных при ограниченном кол-ве / 11 сообщений из 11, страница 1 из 1
17.02.2017, 15:02
    #39406671
stanna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
Добрый день, помогите, пож. Есть табл с данными в поле есть такие данные, например: 001, 0005, 4в, 00007 и т.д. Смысл в том, что из этих данных необходимо выбрать данные, включающие 0 и кол-во нулей в поле должно быть от 2 шт до 3 шт включительно.
...
Рейтинг: 0 / 0
17.02.2017, 15:12
    #39406681
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
stanna,

Like. Если нули могут быть неспаренными, то length + replace.
...
Рейтинг: 0 / 0
17.02.2017, 15:17
    #39406689
stanna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
AmKad,Вы можете пример привести?
Я делала так
select * from stanna
where REGEXP_LIKE (amt,'0{2,3}'), но данные отображаются и те, где кол-во 0 = 4
...
Рейтинг: 0 / 0
17.02.2017, 15:21
    #39406693
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
stannaгде кол-во 0 = 4
это два + два нуля. добавьте условие что следующий символ не 0
...
Рейтинг: 0 / 0
17.02.2017, 15:23
    #39406696
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
Код: plsql
1.
2.
3.
4.
with s as (select column_value as str from table(sys.odcivarchar2list('001', '0005', '4в', '00007')))
select *
from s
where str like '%00%' and str not like '%0000%';
...
Рейтинг: 0 / 0
17.02.2017, 15:36
    #39406721
stanna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
AmKad, спс Вам огромное. Все получилось. У меня еще вопрос, подскажите почему не сработал {2,3}?
...
Рейтинг: 0 / 0
17.02.2017, 15:42
    #39406727
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
stannaУ меня еще вопрос, подскажите почему не сработал {2,3}?Ну почему же не сработал. Он сработал, только не так, как Вы от него ожидали. Этот паттерн ищет строки, в которых есть 2 или 3 рядом стоящих нуля. И неважно, сколько их по факту в строке, хоть 100500, если он нашел пару - то строка попадает под условие.
...
Рейтинг: 0 / 0
17.02.2017, 15:45
    #39406730
stanna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
еще раз спс Вам, все доступно объяснили
...
Рейтинг: 0 / 0
17.02.2017, 16:00
    #39406741
tst
tst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
stanna,

with t as
(select '0012300' amt from dual union all
select '012300' amt from dual union all
select '0012300' amt from dual union all
select '00123' amt from dual union all
select '00123000' amt from dual )

select *
from t
where REGEXP_count(amt, '0') between 2 and 3
...
Рейтинг: 0 / 0
17.02.2017, 16:09
    #39406748
stanna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
tst,спс большое
...
Рейтинг: 0 / 0
17.02.2017, 16:09
    #39406749
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
нахождение данных при ограниченном кол-ве
tst,

01230
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / нахождение данных при ограниченном кол-ве / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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