powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Найти позицию в строке по номеру вхождения
8 сообщений из 8, страница 1 из 1
Найти позицию в строке по номеру вхождения
    #39324567
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Функция instr() в MySql невыгодно отличается от аналогичной в Oracle.
Есть альтернатива? Надо найти, допустим, 2-е вхождение 'a' в строке 'авыфапро'
...
Рейтинг: 0 / 0
Найти позицию в строке по номеру вхождения
    #39324791
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем искать само вхождение? Ну входит (и выходит), и что? Я бы ещё понял поиск его позиции, скажем...
...
Рейтинг: 0 / 0
Найти позицию в строке по номеру вхождения
    #39324838
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне надо строку распарсить вида (строки разные)

(_10_ + _20_) / 100 * _30_

Т.е. вытащить секции _число_ для дальнейшей обработки.
Я рассчитывал INSTR()-ом определить позицию по номеру вхождения '_' и потом SUBSTR-ом выдернуть.
В Оракле это делается на раз, а тут функцию кастрировали. :)
...
Рейтинг: 0 / 0
Найти позицию в строке по номеру вхождения
    #39324842
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SUBSTRING_INDEX дважды - внутри с заданным "номером", снаружи с -1.
...
Рейтинг: 0 / 0
Найти позицию в строке по номеру вхождения
    #39324849
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miv32В Оракле это делается на раз, а тут функцию кастрировали.
Хмм...

OracleThe SUBSTR functions return a portion of char, beginning at character position, substring_length characters long.
MySQLThe forms with a len argument return a substring len characters long from string str, starting at position pos.
И разница лишь в том, что Oracle разрешает отрицательное substring_length, а MySQL - отрицательное pos.
...
Рейтинг: 0 / 0
Найти позицию в строке по номеру вхождения
    #39325048
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Syntax MySql:
INSTR(str,substr)

Returns the position of the first occurrence of substring substr in
string str.


Syntax Oracle:
INSTR(string , substring [, position [, occurrence ] ])
Arguments

string is the text expression to search.

substring is the text string to search for.

position is a nonzero integer indicating the character in string where the function begins the search. When position is negative, then INSTR counts and searches backward from the end of string. The default value of position is 1, which means that the function begins searching at the first character of string.

occurrence is an integer indicating which occurrence of string the function should search for. The value of occurrence must be positive. The default values of occurrence is 1, meaning the function searches for the first occurrence of substring.
...
Рейтинг: 0 / 0
Найти позицию в строке по номеру вхождения
    #39325614
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miv32Syntax MySql:
INSTR(str,substr)Официальная документация считает иначе. См. http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substr

miv32Syntax Oracle:
INSTR(string , substring [, position [, occurrence ] ])
И снова официальная документация считает иначе. См. https://docs.oracle.com/database/121/SQLRF/functions196.htm#SQLRF06114
...
Рейтинг: 0 / 0
Найти позицию в строке по номеру вхождения
    #39325630
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Найдите тогда INSTR() в 'asdfgasdawer' позицию 2-го вхождения 'a'
ссылка в предыдущем на SUBSTR :)

INSTR: https://docs.oracle.com/database/121/SQLRF/functions089.htm#SQLRF00651
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Найти позицию в строке по номеру вхождения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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