Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Cмена разделителя в list of values / 8 сообщений из 8, страница 1 из 1
15.05.2019, 12:00
    #39813451
Никита А
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cмена разделителя в list of values
Здравствуйте, при выборе нескольких значений в lov, ставится разделитель в виде двоеточия. Возможно ли его как-нибудь сменить на запятую?
Была идея подменить двоеточие на запятую в запросе с помощью функции replace, но она отказывается работать, когда между значениями двоеточие
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
with shov (id, name) as (
Select 1, 'оф-1' from dual union all
Select 2, 'оф-2' from dual union all
Select 3, 'оф-3' from dual union all
Select 4, 'оф-4' from dual 
) 
SELECT
    name
FROM 
    shov
WHERE
    id IN (
    replace(:P1_SHOV,':',',')
    )
...
Рейтинг: 0 / 0
15.05.2019, 12:09
    #39813457
Anton_Demin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cмена разделителя в list of values
Никита А,

Код: plsql
1.
2.
3.
id IN (1,2,3)
id IN ('1,2,3')
id IN ('1:2:3')
...
Рейтинг: 0 / 0
15.05.2019, 12:14
    #39813460
Никита А
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cмена разделителя в list of values
Anton_Demin,

Это не будет работать, так как там переменная :P1_SHOV, которая и подставляет такие значения
...
Рейтинг: 0 / 0
15.05.2019, 12:16
    #39813461
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cмена разделителя в list of values
Никита Апри выборе нескольких значений в lovКлиенту, умеющему отобразить данные на языке пользователя, не составит труда отобразить их на SQL.
...
Рейтинг: 0 / 0
15.05.2019, 13:17
    #39813499
Да ну
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cмена разделителя в list of values
Код: plsql
1.
2.
3.
WHERE
   INSTR(':'||:P1_SHOV||':' , ':'||id||':')>0
-- INSTR(':'||'1:2:3' ||':' , ':'||id||':')>0
...
Рейтинг: 0 / 0
15.05.2019, 13:32
    #39813511
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cмена разделителя в list of values
Никита АЗдравствуйте, при выборе нескольких значений в lov, ставится разделитель в виде двоеточия. Возможно ли его как-нибудь сменить на запятую?
Была идея подменить двоеточие на запятую в запросе с помощью функции replace, но она отказывается работать, когда между значениями двоеточие
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
with shov (id, name) as (
Select 1, 'оф-1' from dual union all
Select 2, 'оф-2' from dual union all
Select 3, 'оф-3' from dual union all
Select 4, 'оф-4' from dual 
) 
SELECT
    name
FROM 
    shov
WHERE
    id IN (
    replace(:P1_SHOV,':',',')
    )



id IN (:P1_SHOV) при выборе нескольких значений не будет работать ни через запятую, ни через двоеточие

надо менять условие IN (напр на instr)

....
stax
...
Рейтинг: 0 / 0
15.05.2019, 13:44
    #39813519
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cмена разделителя в list of values
Staxне будет работать ни через запятую, ни через двоеточиеЛадно бы зимнее время, можно было подумать, что до Львова интернет долетает на час позже, поэтому не видел ответ Первопрестольной, но ведь Ставрополь привел пример "ни через запятую, ни через двоеточие" за полтора часа до.
...
Рейтинг: 0 / 0
11.11.2019, 11:01
    #39887354
Никита А
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cмена разделителя в list of values
Да ну
Код: plsql
1.
2.
3.
WHERE
   INSTR(':'||:P1_SHOV||':' , ':'||id||':')>0
-- INSTR(':'||'1:2:3' ||':' , ':'||id||':')>0


Благодарю за годное решение!
Отвечаю с большим опоздаем, потому что эйфория от победы над задачей скружила голову в тот момент
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Cмена разделителя в list of values / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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