bytea -> text

Started by Baldur Norddahlover 22 years ago2 messagesgeneral
Jump to latest
#1Baldur Norddahl
bbn-pgsql.general@clansoft.dk

Hi,

I need to do something like this:

select * from sms where message ilike 'foo%';

Message is a bytea field with UTF-8 content. The charset is actually not
important for me, it would be enough if it could just treat it as us ascii. The
statement does not work because postgresql can not convert bytea to text. But
this works:

select * from sms where message like 'foo%';

Seems like "like" knows how to convert bytea to text, but I can not find any
generic function that does this convertation so I can use it with ilike (or
regexp).

Is there any reasonable easy way for me to do case insensitive matching on that
bytea field?

Thanks,

Baldur

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Baldur Norddahl (#1)
Re: bytea -> text

Baldur Norddahl <bbn-pgsql.general@clansoft.dk> writes:

Seems like "like" knows how to convert bytea to text,

No, it doesn't. The reason that works is there's a LIKE operator for
bytea (try "\do ~~" in psql).

regards, tom lane