Благодарим за ваше предложение и помощь. Пример, который вы предоставили, - это почти идеальное описание проблемы. При этом я использовал и отредактировал текст, чтобы помочь описать эту проблему:regexp_substr с LIKE в качестве условия поиска
Я получаю строку, которая содержит цифры с разделителями-запятыми в форме 18656, 16380, 16424 (вызов этого параметра1). Строка содержит только запятые и цифры. В моем столе у меня есть столбец с именем t со значениями, такими как 18656.01.02, 10.02.02, 16380.02.03, 16424.05.66, 16424.55.23.14. Я хочу выбрать все строки, которые соответствуют всем разделенным запятой цифрам в param1; где первый числовой компонент в столбце t подобен 18656, 16380, 16424. Есть ли способ использовать regexp_substr в этом случае.
Где param1 = 18656, 16380, 16424 следующие работы:
select * from mytable where t.mycolumn IN
(
(SELECT regexp_substr(:param1,'[^,]+', 1, level) as NUMLIST
FROM DUAL
CONNECT BY regexp_substr(:param1, '[^,]+', 1, level) IS NOT NULL)
);
Как использовать подстановочные знаки, если данные я ищу от t.mycolumn = 18656.00.01, 16380.09.34, 16424.023.8 Может В качестве критериев поиска можно использовать? Если возможно, укажите пример. Очевидно, что следующее не будет работать, но я надеюсь найти решение.
select * from mytable where t.mycolumn LIKE
(
(SELECT regexp_substr(:param1||'%','[^,]+', 1, level) as NUMLIST
FROM DUAL
CONNECT BY regexp_substr(:param1||'%', '[^,]+', 1, level) IS NOT NULL)
);
Ясно как грязь. Без использования ЛЮБОГО кода вы можете объяснить проблему? Например: «Я получаю строку, вызываю ее param1. Вот несколько примеров. Строка может содержать запятые, а также может содержать пробелы». (Или нет!) «Кроме того, что это цифры. Теперь в таблице у меня есть столбец со строковыми значениями, например« 1930.2.11 ». Я хочу выбрать строки, в которых первый числовой компонент в значении столбца, например, в 1930 году этот пример соответствует одному из разделенных запятыми чисел в параметре. " Или независимо от вашего требования, просто не используйте какой-либо код, SQL или иначе, чтобы определить проблему. – mathguy
Я согласен с @mathguy. Но, по крайней мере, сообщите нам желаемый результат. Как насчет этого не работает? Каков желаемый результат? –
Дополнительная информация добавлена ... – BJC