Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / задачка / 25 сообщений из 32, страница 1 из 2
17.03.2017, 13:55
    #39421496
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
уважаемые форумчане,

понакидайте интересных нетривиальных задачек на смекалку ?:) по ораклу ?

есть время посамообразовываться

и желательно в свернутом теге ответы,
чтобы я покрутила покрутила посмотрела, а потом сверила- верно я думаю или нет

спасибо!
...
Рейтинг: 0 / 0
17.03.2017, 14:01
    #39421504
задачка
Ozornitca,
На мой взгляд, самое нетривиальное:
Как выбрать строки, которые содержать ТОЛЬКО цифры или ТОЛЬКО буквы?
...
Рейтинг: 0 / 0
17.03.2017, 14:02
    #39421506
задачка
тебе скушно там в офисе в пятницу?
...
Рейтинг: 0 / 0
17.03.2017, 14:03
    #39421508
задачка
...
Рейтинг: 0 / 0
17.03.2017, 14:03
    #39421509
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
...
Рейтинг: 0 / 0
17.03.2017, 14:06
    #39421515
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
спасибо!!))
...
Рейтинг: 0 / 0
17.03.2017, 14:13
    #39421524
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Таки шо, мы будем что-то выбиратOzornitca,
На мой взгляд, самое нетривиальное:
Как выбрать строки, которые содержать ТОЛЬКО цифры или ТОЛЬКО буквы?

ну это ж regexp_replace ? че это лехко же
...
Рейтинг: 0 / 0
17.03.2017, 14:41
    #39421557
задачка
Ozornitca,
Прошу
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with q as (select 1 as num, '541azd2f17' as val from dual union all
select 2, 'qqqqqdikvco' from dual union all
select 3, '3999634' from dual union all
select 4, '8fvjf84jhfs' from dual union all
select 5, 'kg099lk3' from dual union all
select 6, '330le91k' from dual union all
select 7, 'glkb94kj' from dual union all
select 8, 'lvlkjkdjklkl' from dual union all
select 9, '3968731' from dual
)


Верни мне 2, 3, 8 и 9 строки.
...
Рейтинг: 0 / 0
17.03.2017, 14:48
    #39421570
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Последние 3 сообщения
http://www.sql.ru/forum/1253701/poisk-po-stroke

Очень нетривиальная задача.
...
Рейтинг: 0 / 0
17.03.2017, 14:52
    #39421577
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Ну так шо там?Ozornitca,
Прошу
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with q as (select 1 as num, '541azd2f17' as val from dual union all
select 2, 'qqqqqdikvco' from dual union all
select 3, '3999634' from dual union all
select 4, '8fvjf84jhfs' from dual union all
select 5, 'kg099lk3' from dual union all
select 6, '330le91k' from dual union all
select 7, 'glkb94kj' from dual union all
select 8, 'lvlkjkdjklkl' from dual union all
select 9, '3968731' from dual
)


Верни мне 2, 3, 8 и 9 строки.

with q as
(select 1 as num, '541azd2f17' as val
from dual
union all
select 2, 'qqqqqdikvco'
from dual
union all
select 3, '3999634'
from dual
union all
select 4, '8fvjf84jhfs'
from dual
union all
select 5, 'kg099lk3'
from dual
union all
select 6, '330le91k'
from dual
union all
select 7, 'glkb94kj'
from dual
union all
select 8, 'lvlkjkdjklkl'
from dual
union all
select 9, '3968731' from dual)
select * from q
where regexp_instr(q.val, '[0-9]') = 0
or regexp_instr(q.val, '[^0-9]') = 0
...
Рейтинг: 0 / 0
17.03.2017, 14:58
    #39421586
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Ну так шо там?,

ну это по вашему анбору данных ))

а вообще конечно проверить что буквы>0 и не буквы не равно нулю и так же с цифрами)))
...
Рейтинг: 0 / 0
17.03.2017, 14:59
    #39421588
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
не буквы равно нулю
...
Рейтинг: 0 / 0
17.03.2017, 15:00
    #39421590
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Ozornitca,

Да это я понял. Я прошу лишь совместить мою функцию и то решение, что мне скинули. Мне никак в голову решение не приходит.
...
Рейтинг: 0 / 0
17.03.2017, 15:00
    #39421591
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Ну и дурапровалилась
Надо было
Код: plsql
1.
2.
...
where num in (2, 3, 8, 9 )
...
Рейтинг: 0 / 0
17.03.2017, 15:02
    #39421597
lexa-rw
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Ozornitca,

или
просто потому что я так хочу
Код: plsql
1.
2.
select * from q
where not (regexp_like(val, '[A-я]') and regexp_like(val, '[0-9]'))


...
Рейтинг: 0 / 0
17.03.2017, 15:03
    #39421599
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Ну так шо там?,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with q as (
select 1 as num, '541azd2f17' as val from dual union all
select 2, 'qqqqqdikvco' from dual union all
select 3, '3999634' from dual union all
select 4, '8fvjf84jhfs' from dual union all
select 5, 'kg099lk3' from dual union all
select 6, '330le91k' from dual union all
select 7, 'glkb94kj' from dual union all
select 8, 'lvlkjkdjklkl' from dual union all
select 9, '3968731' from dual
)
select
  *
FROM
  q
WHERE
  regexp_instr( val, '^[0-9]+$' ) = 1
  OR regexp_instr( val, '^[a-z]+$' ) = 1


...
Рейтинг: 0 / 0
17.03.2017, 15:05
    #39421602
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
lexa-rwOzornitca,

или
просто потому что я так хочу
Код: plsql
1.
2.
select * from q
where not (regexp_like(val, '[A-я]') and regexp_like(val, '[0-9]'))




да это покрасивее чем

where (regexp_instr(q.val, '[0-9]') > 0
and regexp_instr(q.val, '[^0-9]') = 0)

or
(regexp_instr(q.val, '[A-zА-яЁё]') > 0
and regexp_instr(q.val, '[^A-zА-яЁё]') = 0)


)))
...
Рейтинг: 0 / 0
17.03.2017, 15:06
    #39421605
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
lexa-rwOzornitca,

или
просто потому что я так хочу
Код: plsql
1.
2.
select * from q
where not (regexp_like(val, '[A-я]') and regexp_like(val, '[0-9]'))




ну только как я в первом своем ответе не предусмотрела , что символы могут быть не только буквы и цифры, это у автора в примере просто такой набор))

а если пунктуация))
...
Рейтинг: 0 / 0
17.03.2017, 15:12
    #39421615
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Руслан ДамировичНу так шо там?,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with q as (
select 1 as num, '541azd2f17' as val from dual union all
select 2, 'qqqqqdikvco' from dual union all
select 3, '3999634' from dual union all
select 4, '8fvjf84jhfs' from dual union all
select 5, 'kg099lk3' from dual union all
select 6, '330le91k' from dual union all
select 7, 'glkb94kj' from dual union all
select 8, 'lvlkjkdjklkl' from dual union all
select 9, '3968731' from dual
)
select
  *
FROM
  q
WHERE
  regexp_instr( val, '^[0-9]+$' ) = 1
  OR regexp_instr( val, '^[a-z]+$' ) = 1




круто!))
...
Рейтинг: 0 / 0
17.03.2017, 16:14
    #39421704
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Вячеслав ЛюбомудровНу и дурапровалилась
Надо было
Код: plsql
1.
2.
...
where num in (2, 3, 8, 9 )



да ничего я не провалилась,

я ж ниже написала , да и у меня возникла мысль , что сделать можно одним выражением по цифрам и одним по буквам, но пришла задачка по работе некада было))
...
Рейтинг: 0 / 0
17.03.2017, 16:15
    #39421707
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Вячеслав ЛюбомудровНу и дурапровалилась


'написала ниже про возможность иных символов и доработку первого предложенного варианта))
...
Рейтинг: 0 / 0
17.03.2017, 16:18
    #39421714
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Вячеслав ЛюбомудровНу и дурапровалилась
Надо было
Код: plsql
1.
2.
...
where num in (2, 3, 8, 9 )


падла-падла-падлавил! (с)
В смысле, а и правда ведь тз было четче некуда!
...
Рейтинг: 0 / 0
17.03.2017, 16:50
    #39421751
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Вячеслав ЛюбомудровНу и дурапровалилась
Надо было
Код: plsql
1.
2.
...
where num in (2, 3, 8, 9 )



аааа.....

так-то да ))
...
Рейтинг: 0 / 0
17.03.2017, 19:20
    #39421867
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
Нафиг тут аж два регекспа. Поставить в regexp_like ИЛИ. А в трактовке "только цифры или только не цифры" достаточно одного translate.
...
Рейтинг: 0 / 0
17.03.2017, 19:33
    #39421875
stax..
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
задачка
-2-Нафиг тут аж два регекспа. Поставить в regexp_like ИЛИ. А в трактовке "только цифры или только не цифры" достаточно одного translate.
В translate надо все буквы перечислять

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


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