From c104837202a29c050ff48396bbc8551b941dfd7d Mon Sep 17 00:00:00 2001 From: zyj <853304383@qq.com> Date: Thu, 29 Jun 2023 10:17:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/postgresql_view.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sql/postgresql_view.sql b/sql/postgresql_view.sql index a487a891..f6b9886f 100644 --- a/sql/postgresql_view.sql +++ b/sql/postgresql_view.sql @@ -47,3 +47,20 @@ FROM pg_class c WHERE (c.relkind = ANY (ARRAY['r'::"char", 'p'::"char"])) AND c.relname !~~ 'spatial_%'::text AND n.nspname = 'public'::name AND n.nspname <> ''::name; +CREATE OR REPLACE FUNCTION substring_index(varchar, varchar, integer) +RETURNS varchar AS $$ +DECLARE +tokens varchar[]; +length integer ; +indexnum integer; +BEGIN +tokens := pg_catalog.string_to_array($1, $2); +length := pg_catalog.array_upper(tokens, 1); +indexnum := length - ($3 * -1) + 1; +IF $3 >= 0 THEN +RETURN pg_catalog.array_to_string(tokens[1:$3], $2); +ELSE +RETURN pg_catalog.array_to_string(tokens[indexnum:length], $2); +END IF; +END; +$$ IMMUTABLE STRICT LANGUAGE PLPGSQL; \ No newline at end of file