Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как вызвать strpos() с указанной позиции? / 3 сообщений из 3, страница 1 из 1
19.04.2018, 15:10
    #39633242
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать strpos() с указанной позиции?
В SQL Server есть функция

Код: sql
1.
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )  




Я сделал такой аналог, но может есть лучше решение?

Код: sql
1.
2.
3.
4.
5.
6.
       pos2:=strpos(SUBSTRING(string,pos1+1), ' ');
        IF(pos2>0)
        THEN
            pos2:=pos2 + pos1+1;
        END IF;
-- ....
...
Рейтинг: 0 / 0
19.04.2018, 16:44
    #39633310
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать strpos() с указанной позиции?
Код: sql
1.
2.
3.
4.
5.
CREATE OR REPLACE FUNCTION charindex(text, text, integer) 
RETURNS integer AS $$ 
SELECT CASE WHEN strpos(substr($2, $3+1), $1) = 0 
THEN 0 ELSE strpos(substr($2, $3+1), $1) + $3 END; 
$$ LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT;
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
18.06.2019, 13:27
    #39827698
Ёжик25
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать strpos() с указанной позиции?
Ролг Хупин,

по моему самое простое:


Код: sql
1.
charindex(substr, str, position) 

->

Код: sql
1.
case when strpos(substr(str , position), substr) > 0 THEN strpos(substr(str, position), substr) +(position-1) ELSE 0 END 
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как вызвать strpos() с указанной позиции? / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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