converting E'C:\\something' to bytea
От | Vlad Romascanu |
---|---|
Тема | converting E'C:\\something' to bytea |
Дата | |
Msg-id | AANLkTikzasZXdCjMMNufumpBgZyCR+MsJOmOdbccOGZw@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: converting E'C:\\something' to bytea
|
Список | pgsql-general |
Hello, Is there any way of casting (reinterpreting) a varchar/text field containing arbitrary backslashes to bytea without making an escaped copy of the varchar/text first? In the examples below I am using a constant E'...' for clarity, the value normally comes from a varchar/text column in a table but the end behaviour is the same. E.g.: 1) SELECT E'C:\\something'::bytea ERROR: invalid input syntax for type bytea --> essentially like calling decode(); bad in this case because of the naked backslash! 2) SELECT replace(E'C:\\something', E'\\', E'\\\\')::bytea --> works OK, but bad performance-wise because needed to make an escaped copy of the string which is inefficient 3) CREATE DOMAIN my_varlena AS text; CREATE CAST (my_varlena AS bytea) WITHOUT FUNCTION; SELECT E'C:\\something'::my_varlena::bytea ERROR: invalid input syntax for type bytea --> WHY? Thanks, V.
В списке pgsql-general по дате отправления: