mariadb 对varbinary列使用二进制搜索项的字符串表示形式执行SELECT

nwlqm0z1  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(108)

我在varbinary列中插入IP。Sequel PRO将其表示为乱码(Ü×L%〉¨ NóP)。当我手动搜索时,我希望使用乱码来查找匹配的行:

SELECT * FROM `IP_MAP` WHERE `ip` = BINARY(" Ü×L%>¨€NóP")

这样的查询不返回任何行,尽管我从Sequel PRO接口复制粘贴了varbinary。当给定varbinay的字符串表示时,搜索varbinary列的正确方法是什么?
示例表:

CREATE TABLE `IP_MAP` (
  `id` bigint(11) unsigned NOT NULL,
  `ip` varbinary(16) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ip` (`ip`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
pepwfjgg

pepwfjgg1#

使用INET6_NTOA()INET6_ATON()函数。

SELECT * 
FROM `IP_MAP` 
WHERE `ip` = INET6_ATON('48f3::d432:1431:ba23:846f')

相关问题