clickhouse - IPv4-mapped IPv6 address parsing
问题描述
Does ch have some methods to convert IPv4-mapped IPv6 address looks like "::ffff:46.56.82.33" to IPv4? I found only method for converting IPv4 into IPv4-mapped IPv6.. If not what I should use for its parsing? Thanks!
解决方案
SELECT reinterpret(
reverse(
substr( IPv6StringToNum('::ffff:46.56.82.33'), 13, 4)
),
'IPv4') AS r;
┌─r───────────┐
│ 46.56.82.33 │
└─────────────┘
SELECT extract('::ffff:46.56.82.33', '\\d+\\.\\d+\\.\\d+\\.\\d+$')
┌─extract('::ffff:46.56.82.33', '\\d+\\.\\d+\\.\\d+\\.\\d+$')─┐
│ 46.56.82.33 │
└─────────────────────────────────────────────────────────────┘
推荐阅读
- ionic-framework - ionic 3在拖放后计算项目
- python-3.x - 如何在 python 字典上实现 RSA 加密/解密?
- linkedin - LinkedIn Share Post V2 API 内部服务器错误
- android - 如何使用 Robolectric 触发发布到 ScheduledExecutorService 的延迟任务
- python-xarray - xarray - 如何重命名 DataArray 对象的维度
- c# - 映射目标类具有更多属性时,Automapper 失败
- java - 尝试使用带有“菜单”的 For 循环
- mysql - 我们如何以 JSON 格式导出 MySql 多表结果集?
- jquery - 用于响应式屏幕分辨率和平板电脑纵向模式的 iframe 全屏
- mysql - 在不同的人之间查找重复的消息