Re: function length(numeric) does not exist
От | Michael Paquier |
---|---|
Тема | Re: function length(numeric) does not exist |
Дата | |
Msg-id | CAB7nPqRwWLQu=9ijB9S5KaggsL1Okd3bEAkxh74enmYr19S34w@mail.gmail.com обсуждение исходный текст |
Ответ на | function length(numeric) does not exist ("Ricardo Sardinha" <ricardo.sardinha@ti.polynorte.com.br>) |
Список | pgsql-bugs |
On Sat, Nov 22, 2014 at 9:26 PM, Ricardo Sardinha < ricardo.sardinha@ti.polynorte.com.br> wrote: > "ERRO: 42883: fun=E7=E3o length(numeric) n=E3o existe" (*function > length(numeric) **does not exist*). > length() is not able to accept numeric as input. =3D# select length(123.45); ERROR: 42883: function length(numeric) does not exist LINE 1: select length(123.45); You could cast it to text depending on what you want to do: =3D# select length(123.45::text); length -------- 6 (1 row) Then I try to create *length* function: > > > > CREATE OR REPLACE FUNCTION length(tsvector) > > RETURNS int4 AS > > '$libdir/tsearch2', 'tsvector_length' > > LANGUAGE 'c' IMMUTABLE STRICT; > > ALTER FUNCTION length(tsvector) OWNER TO postgres; > That's because this function is not defined in the extension tsearch2, but is part of core, so you actually do not need to redefine it: =3D# \dfS length List of functions Schema | Name | Result data type | Argument data types | Type ------------+--------+------------------+---------------------+-------- pg_catalog | length | integer | bit | normal pg_catalog | length | integer | bytea | normal pg_catalog | length | integer | bytea, name | normal pg_catalog | length | integer | character | normal pg_catalog | length | double precision | lseg | normal pg_catalog | length | double precision | path | normal pg_catalog | length | integer | text | normal pg_catalog | length | integer | tsvector | normal (8 rows) Regards, --=20 Michael
В списке pgsql-bugs по дате отправления: