Разница между STRPOS и POSITION в postgresql - PullRequest
0 голосов
/ 18 апреля 2020

Начинающий здесь.

Есть ли какие-либо другие отличия, кроме синтаксиса в позиции и функции strpos ?

Если нет, то почему у нас есть две функции, которые могут достичь одного и того же с небольшой разницей в синтаксисе?

Ответы [ 2 ]

1 голос
/ 18 апреля 2020

Эти функции выполняют одно и то же и отличаются только синтаксисом. Документация для strpos() гласит:

Местоположение указанной подстроки (аналогично позиции (подстрока в строке), но обратите внимание на обратный порядок аргументов)

Причина, по которой они оба существуют и отличаются только синтаксисом в том, что POSITION(str1 IN str2) определяется стандартом ANSI SQL. Если бы PostgreSQL имел только strpos(), он не смог бы выполнять запросы и сценарии ANSI SQL.

0 голосов
/ 18 апреля 2020

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

strpos(String, Substring);
position(Substring in String);

enter image description here

Посмотрите на все строковые функции и операторы PostgreSQL здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...