[SQLServer] 在查询语句中将整数转为IP字符串
2012-02-01 14:48
405 查看
数据表的结构是——
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字符串。
经过思索与调试,我完成了该查询语句——
查询结果为——
验证通过。
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
验证通过。
相关文章推荐
- Sql常见问题总结二(Sql语句怎么样查询IP,游标去重复,各种函数使用,各种取时间格式,字符串精确排序,超时锁问题)
- SqlServer和Oracle从多行记录(数据集)中查询结果并拼接成一个字符串的SQL语句(纵表数据转成拼接的文本)
- Sql常见问题总结二(Sql语句怎么样查询IP,游标去重复,各种函数使用,各种取时间格式,字符串精确排序,超时锁问题)
- sqlserver如何查询sql语句占用内存多少
- SqlServer 一个查询语句以致tempdb增大55G (转载)
- sqlserver结果集转为字符串
- PHP中将字符串转化为整数(int) intval() printf() 性能测试
- 在sql脚本中将查询结果集拼接成字符串
- C#里面中将字符串转为变量名
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
- sqlserver 字符串分拆 语句
- 分页插件将SQLServer查询语句转换成分页语句
- SQLSERVER查询单个数据表所有字段名组合成的字符串脚本
- 字符串转为整数
- 在SqlServer中通过SQL语句实现树状查询
- sql实现IP的整数与字符串转化
- sqlserver,oracle,mysql分页查询语句
- C和指针之函数之把数字字符串转为整数并且返回这个数字(ascii_to_integer)
- C#里面中将字符串转为变量名
- SqlServer 一个查询语句导致tempdb增大55G