• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

sqlct

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

SQL Server使用PARSENAME函数来处理IP地址字符串

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地址的各个部分以后,再处理就方便多了。

posted on 2014-08-21 12:36  sqlct  阅读(1031)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3