• GBase 8c V3.0.0数据类型——网络地址函数和操作符(cidr和inet函数)


    函数abbrev、host、text主要是为了提供可选的显示格式。

    1. abbrev(inet)

    描述:缩写显示格式文本。

    返回类型:text

    示例:

     gbase=# SELECT abbrev(inet '10.1.0.0/16') AS RESULT;

       result    

    -------------

     10.1.0.0/16

    (1 row)

    1. abbrev(cidr)

    描述:缩写显示格式文本。

    返回类型:text

    示例:

     gbase=# SELECT abbrev(cidr '10.1.0.0/16') AS RESULT;

     result  

    ---------

     10.1/16

    (1 row)

    1. broadcast(inet)

    描述:网络广播地址。

    返回类型:inet

    示例:

     gbase=# SELECT broadcast('192.168.1.5/24') AS RESULT;

          result      

    ------------------

     192.168.1.255/24

    (1 row)

    1. family(inet)

    描述:抽取地址族,4为IPv4,6为IPv6。

    返回类型:int

    示例:

     gbase=# SELECT family('127.0.0.1') AS RESULT;

     result

    --------

          4

    (1 row)

    1. host(inet)

    描述:将主机地址类型抽出为文本。

    返回类型:text

    示例:

     gbase=# SELECT host('192.168.1.5/24') AS RESULT;

       result    

    -------------

     192.168.1.5

    (1 row)

    1. hostmask(inet)

    描述:为网络构造主机掩码。

    返回类型:inet

    示例:

     gbase=# SELECT hostmask('192.168.23.20/30') AS RESULT;

     result  

    ---------

     0.0.0.3

    (1 row)

    1. masklen(inet)

    描述:抽取子网掩码长度。

    返回类型:int

    示例:

     gbase=# SELECT masklen('192.168.1.5/24') AS RESULT;

     result

    --------

         24

    (1 row)

    1. netmask(inet)

    描述:为网络构造子网掩码。

    返回类型:inet

    示例:

     gbase=# SELECT netmask('192.168.1.5/24') AS RESULT;

        result     

    ---------------

     255.255.255.0

    (1 row)

    1. network(inet)

    描述:抽取地址的网络部分。

    返回类型:cidr

    示例:

     gbase=# SELECT network('192.168.1.5/24') AS RESULT;

         result     

    ----------------

     192.168.1.0/24

    (1 row)

    1. set_masklen(inet, int)

    描述:为inet数值设置子网掩码长度。

    返回类型:inet

    示例:

     gbase=# SELECT set_masklen('192.168.1.5/24', 16) AS RESULT;

         result     

    ----------------

     192.168.1.5/16

    (1 row)

    1. set_masklen(cidr, int)

    描述:为cidr数值设置子网掩码长度。

    返回类型:cidr

    示例:

     gbase=# SELECT set_masklen('192.168.1.0/24'::cidr, 16) AS RESULT;

         result     

    ----------------

     192.168.0.0/16

    (1 row)

    1. text(inet)

    描述:把IP地址和掩码长度抽取为文本。

    返回类型:text

    示例:

     gbase=# SELECT text(inet '192.168.1.5') AS RESULT;

         result     

    ----------------

     192.168.1.5/32

    (1 row)

    任何cidr值都能以显式或者隐式的方式转换为inet值,因此上述能够操作inet值的函数也同样能够操作cidr值。inet值也可以转换为cidr值,此时inet子网掩码右侧的所有位都将转换为零,以创建一个有效的cidr值。另外,用户还可以使用常规的类型转换语法将一个文本字符串转换为inet或cidr值。例如:inet(expression)或colname::cidr。

  • 相关阅读:
    php服装商城网站毕业设计源码241505
    Java 基础--- 权限访问修饰符
    linux内核分析:进程通讯方式
    GnosisSafe.sol 学习 (一)
    【方法封装】时间格式化输出,获取请求设备和IP
    JavaScript 用法
    JavaScript基础语法02
    LVS-DR模式+keepalived+nginx+tomcat实现动静分离、负载均衡、高可用实验
    基于计算机视觉的坑洼道路检测和识别-MathorCup A(深度学习版本)
    QTableWidget 的使用
  • 原文地址:https://blog.csdn.net/futianxia061112/article/details/125421211