powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Cмена разделителя в list of values
8 сообщений из 8, страница 1 из 1
Cмена разделителя в list of values
    #39813451
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, при выборе нескольких значений в 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
Cмена разделителя в list of values
    #39813457
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита А,

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

Это не будет работать, так как там переменная :P1_SHOV, которая и подставляет такие значения
...
Рейтинг: 0 / 0
Cмена разделителя в list of values
    #39813461
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита Апри выборе нескольких значений в lovКлиенту, умеющему отобразить данные на языке пользователя, не составит труда отобразить их на SQL.
...
Рейтинг: 0 / 0
Cмена разделителя в list of values
    #39813499
Да ну
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
WHERE
   INSTR(':'||:P1_SHOV||':' , ':'||id||':')>0
-- INSTR(':'||'1:2:3' ||':' , ':'||id||':')>0
...
Рейтинг: 0 / 0
Cмена разделителя в list of values
    #39813511
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита АЗдравствуйте, при выборе нескольких значений в 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
Cмена разделителя в list of values
    #39813519
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxне будет работать ни через запятую, ни через двоеточиеЛадно бы зимнее время, можно было подумать, что до Львова интернет долетает на час позже, поэтому не видел ответ Первопрестольной, но ведь Ставрополь привел пример "ни через запятую, ни через двоеточие" за полтора часа до.
...
Рейтинг: 0 / 0
Cмена разделителя в list of values
    #39887354
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да ну
Код: plsql
1.
2.
3.
WHERE
   INSTR(':'||:P1_SHOV||':' , ':'||id||':')>0
-- INSTR(':'||'1:2:3' ||':' , ':'||id||':')>0


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


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