POSITION('STRING1' IN 'STRING2')

Как использовать эту функцию для поиска позиции второго такого же символа в строке?

Например:

STRING1='.'

STRING2:

811.1.3

365.01.2

Т.е. найти 2-ю позицию точки по всему полю таблицы

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Никак

Такие функции отсутствуют в готовом виде даже в языках программирования высокого уровня, где для их реализации нужно писать собственные функции. Возможно так стоит поступить и вам.

Очень жаль.ФОКС, конечно не

Очень жаль.
ФОКС, конечно не язык высокого уровня программирования, но такая функция там есть

AT(cSearchExpression, cExpressionSearched [, nOccurrence])

cSearchExpression - выражение для поиска
cExpressionSearched - текст
nOccurrence - какое вхождение искать (первое, второе или третье)

А также язык SQL
INSTR — поиск подстроки
INSTR (<строка>,<подстрока>[,<начало поиска> [,<номер вхождения>]])
• <начало поиска> задает начальную позицию в строке для поиска <подстроки>. Если не задано, то по умолчанию
принимается значение 1;
• <номер вхождения> задает порядковый номер искомой подстроки. Если не задан, то по умолчанию принимается
значение 1;
• значимые выражения в <начале поиска> или в <номере вхождения > должны иметь беззнаковый целый тип или
приводиться к этому типу;
• тип возвращаемого значения — INT;

Если дело в конкретном названии функции

то советую использовать Index в Мануале.
Там я нашёл упоминание об этой функции, а также пример её реализации в PostgreSQL:
http://postgresql.ru.net/manual/plpgsql-porting.html#PLPGSQL-PORTING-APP...

Что касается языка SQL, то речь идёт, насколько я понял, о реализации SQL в ORACLE, что автоматически делает сравнение бессмысленным. Во-первых, потому что ORACLE - это коммерческая СУБД, которая стоит тысячи долларов, во-вторых, потому что ORACLE всегда делал собственные расширения SQL так как им заблагорассудится.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023