Выделение сетевого адреса с установкой бит префикса для совместимости с PostgreSQL

Функция

Выделение сетевого адреса с установкой бит префикса.

Примечание

Функция реализована для совместимости с PostgreSQL 7.3.

Спецификация
 
< синтаксис >::=
Синтаксические правила
  1. < Байтовое выражение > должно иметь тип BYTE(5).

Возвращаемое значение
  1. Конечный сетевой IP-адрес узла, задаваемый CIDR IP-адресом. Биты адреса, отведенные под префикс, установлены в 1.

  2. Тип возвращаемого значения – BYTE(5).

Примеры
select ip_broadcast(hex('5052200b0a'));
| 507FFFFF0A |
create or replace table tab2 (cidr byte(5));
insert into tab2 values(hex('8082320010'));
select ltrim(to_char(getbyte(ip_broadcast(cidr), 0), '999')) || '.' ||
       ltrim(to_char(getbyte(ip_broadcast(cidr),1), '999')) || '.' ||
       ltrim(to_char(getbyte(ip_broadcast(cidr),2), '999')) || '.' ||
       ltrim(to_char(getbyte(ip_broadcast(cidr),3), '999')) || '/' ||
       ltrim(to_char(getbyte(ip_broadcast(cidr),4), '999'))
  from tab2;
|128.130.255.255/16|