IP V4地址是用3个点分隔的字符串,有时候需要在数据库中进行处理,比如判断IP地址是否有效等。
通常想到的方法是自己写个函数,比如利用CHARINDEX、SUBSTRING等函数组合来获取IP地址的各个部分,然后处理。
SQL Server用来表示对象的时候通常采取
架构名.对象名、数据库名.架构名.对象名、链接服务器名.数据库名.架构名.对象名 等方式
比如dbo.tablename、master.dbo.tablename、[192.168.1.100].master.dbo.tablename
PARSENAME函数的本来使用目的是获取SQL Server对象的指定部分,比如要获取master.dbo.tablename的数据库名部分
就用SELECT PARSENAME(‘master.dbo.tablename‘,3),结果就是master。
比较幸运的是IP V4的格式刚好类似于[192.168.1.100].master.dbo.tablename这种表示方式,
所以我们用 PARSENAME(‘192.168.1.100‘,1)得到100,PARSENAME(‘192.168.1.100‘,2)得到1,PARSENAME(‘192.168.1.100‘,3)得到168,PARSENAME(‘192.168.1.100‘,4)可以得到192。
得到了IP地址的各个部分以后,再处理就方便多了。