mysql - 在 MySQL 中将 VARBINARY 转换为整数或小数表示形式

标签 mysql phpmyadmin varbinary

我有一个 MySQL (5.7.21) 应用程序数据库,其中包含 VARBINARY(16) 形式的 IP (v4) 地址(我假设此长度是为了支持 IPv6)。

我通常通过 phpMyAdmin 访问此数据库以进行维护。

我需要将这些 IP 地址提取为可以使用脚本处理的某种文本格式。 PhpMyAdmin 在查询结果中以十六进制显示这些列,但导出到文件会创建难以在脚本或文本编辑器中处理的文件。

我尝试了 CAST/CONVERT 的几种变体但似乎没有任何效果(特别是转换为 SIGNEDUNSIGNED 产生 0)。

有解决办法吗?我是否忽略了什么?

编辑

好的,解决方案是使用:

INET_NTOA ( CONV ( HEX (varbinary_column),16,10 ) )

但是二进制到十六进制到十进制真的有必要还是有更短的形式?

最佳答案

好的,所以真正的 secret 是使用 INET6_NTOA(varbinary_column) (注意 6)(也适用于 IP v4 地址)。再简单不过了...

关于mysql - 在 MySQL 中将 VARBINARY 转换为整数或小数表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48578754/

相关文章:

php-mysql : Making drop down list work

phpmyadmin 忽略 config.inc.php

MySQL:如何检查 varbinary 类型中的特定值?

mysql - 询问mysql中的存储函数

MYSQL在group by中有共同的记录

java - 如何将 Java Hashmap 保存为 sql 表中的属性并将其加载回来

postgresql - 编写在 PostgreSQL 中插入 varbinary 值的查询

mysql - 从数据库表中获取特定日期

android - 我的数据未存储在数据库中

sql - 如何使用特定值更新 varbinary 字段?