скажите, есть ли функция в postgresql или (plpgsql), которая считает количество определённых символов в строке. Например countLet("test", "t") = 2
Или как её можно реализовать?
В мануале такой функции не нашёл. Попробуйте реализовать на любом процедурном языке, например на pl/perl. На Perl думаю вам не составит труда написать такое
я делал сравнение 2-х строк - думаю по аналогии можно и тут
CREATE OR REPLACE FUNCTION "public"."mpg2_sbs_comparing" (
"val_1" varchar,
"val_2" varchar
)
RETURNS SETOF integer AS
$body$
DECLARE
i integer;
len_1 integer;
len_2 integer;
BEGIN
len_1 = length($1);
len_2 = length($2);
FOR i IN 1..len_1 LOOP
IF (substring($1 from i for 1) != substring($2 from i for 1)) THEN
RETURN NEXT i;
END IF;
END LOOP;
END;
В мануале такой функции не
В мануале такой функции не нашёл. Попробуйте реализовать на любом процедурном языке, например на pl/perl. На Perl думаю вам не составит труда написать такое
спасибо, тоже не
спасибо, тоже не нашёл...
знал бы perl, наверное и не составило бы никакой трудности, а python почему то не подключается
я делал сравнение 2-х строк -
я делал сравнение 2-х строк - думаю по аналогии можно и тут
CREATE OR REPLACE FUNCTION "public"."mpg2_sbs_comparing" (
"val_1" varchar,
"val_2" varchar
)
RETURNS SETOF integer AS
$body$
DECLARE
i integer;
len_1 integer;
len_2 integer;
BEGIN
len_1 = length($1);
len_2 = length($2);
FOR i IN 1..len_1 LOOP
IF (substring($1 from i for 1) != substring($2 from i for 1)) THEN
RETURN NEXT i;
END IF;
END LOOP;
END;
Можно сделать замену искомого
Можно сделать замену искомого символа на пустую строку, а потом сравнить длину исходной и полученной строки.