|
|
|
Найти позицию в строке по номеру вхождения
|
|||
|---|---|---|---|
|
#18+
Добрый день! Функция instr() в MySql невыгодно отличается от аналогичной в Oracle. Есть альтернатива? Надо найти, допустим, 2-е вхождение 'a' в строке 'авыфапро' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2016, 14:39 |
|
||
|
Найти позицию в строке по номеру вхождения
|
|||
|---|---|---|---|
|
#18+
Зачем искать само вхождение? Ну входит (и выходит), и что? Я бы ещё понял поиск его позиции, скажем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2016, 18:06 |
|
||
|
Найти позицию в строке по номеру вхождения
|
|||
|---|---|---|---|
|
#18+
Мне надо строку распарсить вида (строки разные) (_10_ + _20_) / 100 * _30_ Т.е. вытащить секции _число_ для дальнейшей обработки. Я рассчитывал INSTR()-ом определить позицию по номеру вхождения '_' и потом SUBSTR-ом выдернуть. В Оракле это делается на раз, а тут функцию кастрировали. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2016, 19:48 |
|
||
|
Найти позицию в строке по номеру вхождения
|
|||
|---|---|---|---|
|
#18+
SUBSTRING_INDEX дважды - внутри с заданным "номером", снаружи с -1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2016, 19:50 |
|
||
|
Найти позицию в строке по номеру вхождения
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2016, 20:02 |
|
||
|
Найти позицию в строке по номеру вхождения
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 10:12 |
|
||
|
Найти позицию в строке по номеру вхождения
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 18:56 |
|
||
|
Найти позицию в строке по номеру вхождения
|
|||
|---|---|---|---|
|
#18+
Найдите тогда INSTR() в 'asdfgasdawer' позицию 2-го вхождения 'a' ссылка в предыдущем на SUBSTR :) INSTR: https://docs.oracle.com/database/121/SQLRF/functions089.htm#SQLRF00651 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 19:10 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39325630&tid=1831332]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 324ms |

| 0 / 0 |
