PL/pgsql declaration of string / bit / number with given (variable!) length

Поиск
Список
Период
Сортировка
От sneumann
Тема PL/pgsql declaration of string / bit / number with given (variable!) length
Дата
Msg-id 1170691341.14733.147.camel@lathan.ipb-sub.ipb-halle.de
обсуждение исходный текст
Ответы Re: PL/pgsql declaration of string / bit / number with given (variable!) length  (Richard Huxton <dev@archonet.com>)
Список pgsql-sql
Hi,

I have a PL/pgsql function that creates a certain bit string
based on the parameters. Things work fine if I use bit(10)
throughout the function. Now I'd like to return a bit string
with the given size "len", but that breaks with a syntax error:
       ret := B'0'::bit(len);LINE 1: SELECT  B'0'::bit( $1 )                           ^

Any suggestion how to return a (bit) string
of user-defined length ?

Thanks in advance,
Yours,
Steffen

CREATE OR REPLACE FUNCTION unarystr(   value integer,   len integer
) RETURNS bit(10) AS $$
DECLARE   ret bit(10);   one bit(10);
BEGIN   ret := B'0'::bit(10);   one := B'1'::bit(10);
   FOR num IN 0..value-1 LOOP      ret := ret | (one >>num);   END LOOP;   RETURN ret;
END;
$$ LANGUAGE plpgsql;


--
IPB Halle                    AG Massenspektrometrie & Bioinformatik
Dr. Steffen Neumann          http://www.IPB-Halle.DE
Weinberg 3                   http://msbi.bic-gh.de
06120 Halle                  New phone number !                            Tel. +49 (0) 345 5582 - 1470
               +49 (0) 345 5582 - 0 
sneumann(at)IPB-Halle.DE     Fax. +49 (0) 345 5582 - 1409


В списке pgsql-sql по дате отправления:

Предыдущее
От: "César Antonio León Mansilla"
Дата:
Сообщение: Getting associated columns with max() without subquery
Следующее
От: "A. Kretschmer"
Дата:
Сообщение: Re: sql