Re: cast bytea to macaddr - Mailing list pgsql-general

From Matt Zagrabelny
Subject Re: cast bytea to macaddr
Date
Msg-id CAOLfK3VZQc-oCRY-3YYQuhyHUtN7cGp4PP-9GKSi4jYjiBEABQ@mail.gmail.com
Whole thread Raw
In response to cast bytea to macaddr  (Matt Zagrabelny <mzagrabe@d.umn.edu>)
Responses Re: cast bytea to macaddr
List pgsql-general
Hi Boris,

[bringing this email back to the mailing list]

A couple of questions:

1. What do the double parenthesis '(( Values .... ))' mean?

2. What is the 'x(field)' in the column alias?

Thanks for educating me!

-m

On Thu, Sep 28, 2023 at 10:34 AM Boris Zentner <bzm@2bz.de> wrote:
Hi matt,

This is my take. I guess this is also your solution ( encode(fteld, 'hex'): :macaddr  )

SELECT encode(fteld, 'hex'): :macaddr FROM ((VALUES (decode('aabbccddeeff', 'hex'))))

AS x(field)

--
Boris


Am 28.09.2023 um 17:01 schrieb Matt Zagrabelny <mzagrabe@d.umn.edu>:


Greetings Pg folks,

I have a database schema (not mine) that uses bytea to represent a MAC address. I'd like to create a view that casts that field into a MACADDR type.

# \d lease4
                           Table "public.lease4"
     Column     │           Type           │ Collation │ Nullable │ Default
════════════════╪══════════════════════════╪═══════════╪══════════╪═════════
 hwaddr         │ bytea                    │           │          │

# select hwaddr from lease4;
     hwaddr    
════════════════
 \x9cebe803e3b9

It looks like I can cast the bytea to text and then manipulate that and finally cast it to macaddr.

Is there a better, or more canonical, way to convert/cast this field?

Thanks for any help!

-m

pgsql-general by date:

Previous
From: Dave Cramer
Date:
Subject: Re: Right version of jdbc
Next
From: Raivo Rebane
Date:
Subject: Right version of jdbc