zoukankan      html  css  js  c++  java
  • [SQLServer] 在查询语句中将整数转为IP字符串

    数据表的结构是——

    CREATE TABLE [dbo].[ac_mainctls_new] (

     [id] [int] NULL ,

     [ctlip] [bigint] NULL ,

     [ctlname] [char] (30) COLLATE Chinese_PRC_CI_AS NULL ,

    )

    其中ctlip是设备的IP地址,以整数方式存储。

    虽然可以用程序将整数转为IP字符串,但多了一道工序有点麻烦。于是我想直接在SQL查询语句中将其转为IP字符串。

    经过思索与调试,我完成了该查询语句——

    SELECT CAST(ctlip / 0x1000000 AS varchar(3)) 
    + '.' + CAST(ctlip / 0x10000 % 0x100 AS varchar(3))
    + '.' + CAST(ctlip / 0x100 % 0x100 AS varchar(3))
    + '.' + CAST(ctlip % 0x100 AS varchar(3)) AS ipstr, *
    FROM ac_mainctls_new


     

    查询结果为——

    ipstr	ctlip
    192.168.10.32	3232238112
    192.168.10.35	3232238115
    192.168.10.21	3232238101
    192.168.10.19	3232238099
    

    验证通过。

  • 相关阅读:
    Redis 安装和启动
    有序的map类--LinkedHashMap
    Springmvc
    工厂模式
    Top K
    判断链表是否有环
    注解
    Spring 事务
    热点账户高并发解决方案
    sql优化
  • 原文地址:https://www.cnblogs.com/zyl910/p/SQLServer_Query_IntToIPStr.html
Copyright © 2011-2022 走看看