快表软件

标题: IP地址排序问题。 [打印本页]

作者: bxf    时间: 2017-9-18 08:36
标题: IP地址排序问题。
(, 下载次数: 276)
如何利用辅助字段将原IP地址格式变为修改后IP格式。
例如
10.90.0.1  变为10.90.0.001,
10.90.0.21变为10.90.0.021
10.90.0.111不需要变更

作者: hong90342    时间: 2017-9-18 08:36
如果仅仅第四位,则=TEXT(MID(A1,1,FIND(".",A1)-1),"00"&"."&TEXT(MID(A1,FIND(".",A1)+1,2),"00"))&"."&TEXT(MID(A1,FIND(".",A1,5)+1,2),"0")&"."&TEXT(MID(A1,FIND(".",A1,8)+1,3),"000")
修改对应字段中位数即可,应用TEXT函数
作者: 透过手指间看天    时间: 2017-9-18 08:56
给你提供一个思路:网上搜索一下sql截取最后出现字符之后的字符(即最后一个点),估计还得求出最后一个点之前出现的字符,比如10.90.0.1,之前的字符是10.90.0,之后字符是1,然后最后字符1加上'00',变成001,取右边三位,即001,之前字符加上001,最后就变成10.90.0.001,10.90.0.21也是一样,21加上00变成0021,取右边三位021,这个方案可以试一下
作者: hong90342    时间: 2017-9-18 09:05
假如IP在A1,可用公式=TEXT(MID(A1,1,FIND(".",A1)-1),"000"&"."&TEXT(MID(A1,FIND(".",A1)+1,2),"000"))&"."&TEXT(MID(A1,FIND(".",A1,5)+1,2),"000")&"."&TEXT(MID(A1,FIND(".",A1,8)+1,3),"000"),这样四位IP都是三位的
作者: bxf    时间: 2017-9-18 09:10
透过手指间看天 发表于 2017-9-18 08:56
给你提供一个思路:网上搜索一下sql截取最后出现字符之后的字符(即最后一个点),估计还得求出最后一个点 ...

有具体的公式或者命令吗? 我对SQL着个不懂。求教。
作者: jiangliu296    时间: 2017-9-18 09:46
case when len(right( 本报表.[截取数据_主表].[IP] , charindex('.',reverse( 本报表.[截取数据_主表].[IP] ))-1))=1 then '00'+right( 本报表.[截取数据_主表].[IP] , charindex('.',reverse( 本报表.[截取数据_主表].[IP] ))-1) when len(right( 本报表.[截取数据_主表].[IP] , charindex('.',reverse( 本报表.[截取数据_主表].[IP] ))-1))=2 then '0'+right( 本报表.[截取数据_主表].[IP] , charindex('.',reverse( 本报表.[截取数据_主表].[IP] ))-1) else right( 本报表.[截取数据_主表].[IP] , charindex('.',reverse( 本报表.[截取数据_主表].[IP] ))-1) end

将本报表.[截取数据_主表].[IP]替换为来源字段




欢迎光临 快表软件 (http://bbs.kuaibiao.cn/) Powered by Discuz! X3.4