oracle如何截取某个字段?

minoboy 2010-09-21 03:39:50
134.107.116.52:1028
134.107.116.53:1026
134.107.116.67:1026
134.107.116.68:1029
134.107.116.82:1026
134.107.116.85:1028
134.107.116.86:1026
134.107.135.66:1792
134.107.139.14:3427
134.107.139.16:1026
134.107.139.18:1026
134.107.139.40:1028
134.107.139.41:1028
134.107.139.42:1026
134.107.139.43:1028
134.107.139.49:2663
134.107.139.6:44801
134.107.140.12:1028
134.107.140.18:1055
134.107.144.38:1105
134.107.144.42:1081
134.107.145.135:1026
134.107.145.136:1026
134.107.145.138:1026
134.107.145.139:1026
........

要把IP地址取出来,去掉端口号.
即取:前面的数据,如何写SQL?
...全文
360 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
minoboy 2010-09-21
  • 打赏
  • 举报
回复
结贴,给分.
6个月不用SQL取数了,发现INSTR函数不知道用了.呵呵
碧水幽幽泉 2010-09-21
  • 打赏
  • 举报
回复
2楼的是对的!
ngx20080110 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 minoboy 的回复:]
用SUBSTR()不行,IP地址并非是固定几位,端口也并非固定几位
[/Quote]
你的意思,ip前面还有内容吗?
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 minoboy 的回复:]
用SUBSTR()不行,IP地址并非是固定几位,端口也并非固定几位
[/Quote]二楼不是根据位数来截得 是根据: 你的端口号和ip地址是根据:这个分开的
minoboy 2010-09-21
  • 打赏
  • 举报
回复
楼上有理,我去试下
minoboy 2010-09-21
  • 打赏
  • 举报
回复
用SUBSTR()不行,IP地址并非是固定几位,端口也并非固定几位
ngx20080110 2010-09-21
  • 打赏
  • 举报
回复

select substr('134.107.145.139:1026',1, instr('134.107.145.139:1026',':') - 1) from dual;

SUBSTR('134.107.145.139:1026',1,INSTR('134.107.145.139:1026',':')-1)
--------------------------------------------------------------------
134.107.145.139
ngx20080110 2010-09-21
  • 打赏
  • 举报
回复
substr(your_column, 1, instr(your_column, ':') - 1)

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧