From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | mikeo <mikeo(at)spectrumtelecorp(dot)com> |
Cc: | mjp(at)ornl(dot)gov, pgsql-general(at)postgresql(dot)org |
Subject: | Re: bytea question |
Date: | 2000-08-15 21:45:41 |
Message-ID: | Pine.BSF.4.10.10008151439460.87810-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Well, I don't think you're going to be able to without resorting to
something other than straight sql (a c function would probably work).
You can get the value of a particular byte using get_byte(bytea,int)
but I can't think of a good way outside of some sort of function to
turn that into a split.
Also, get_byte elogs if the int is outside the range of octets on
the bytea. I would have expected it to work closer to substr on
text.
Stephan Szabo
sszabo(at)bigpanda(dot)com
On Tue, 15 Aug 2000, mikeo wrote:
> thanks anyway but that doesn't work. i should've mentioned that i'd
> already tried that in SQL. my apologies.
>
>
> tig4=# \d x
> Table "x"
> Attribute | Type | Modifier
> -----------+-------+----------
> tgargs | bytea |
>
> tig4=# select substr(tgargs,1,5) from x;
> ERROR: Function 'substr(bytea, int4, int4)' does not exist
> Unable to identify a function that satisfies the given argument types
> You may need to add explicit typecasts
>
> tig4=# select substr(tgargs::text,1,5) from x;
> ERROR: Cannot cast type 'bytea' to 'text'
>
> and other things like varchar, etc.
>
> tig4=# select * from x;
> tgargs
> ------------------------------------------------------------------------------
> fk_uste_wu_id\000us_states\000web_users\000UNSPECIFIED\000wu_id\000wu_id\000
> fk_uste_wu_id\000us_states\000web_users\000UNSPECIFIED\000wu_id\000wu_id\000
> fk_uste_wu_id\000us_states\000web_users\000UNSPECIFIED\000wu_id\000wu_id\000
>
> what i'm looking to do here is to get the table names and column names out
> using sql. i can do it in perl with a split command on '\' but was curious
> as to how to "SQL" split up a BYTEA type field.
>
> mikeo
>
>
> At 04:38 PM 8/15/00 -0400, mjp(at)ornl(dot)gov wrote:
> >Try
> >
> >substr(text,int4) or
> >substr(text, int4, int4)
> >
> >For example,
> >
> >
> >% select substr('hi there',4,3);
> > substr
> >--------
> > the
> >(1 row)
> >
> >Morey Parang
> >ORNL
>
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2000-08-15 21:48:22 | Re: Error with PostgreSQL - IMP |
Previous Message | g | 2000-08-15 21:38:04 | pg_dumpall problems |