人大金仓KingbaseES 函数介绍 hex

KingbseES函数介绍hex

关键字

兼容hex函数、人大金仓、KingbaseES、

问题描述

语法:hex(arg);

功能:将一个字符串或数字转换为十六进制格式的字符串。

其中参数arg分为两种:字符串参数str,数字参数N。

  • 对于字符串参数str,hex返回str的十六进制字符串,其中str中每个字符的每个字节的编码以两个十六进制数字表示。
  • 对于数字参数N分为两种情况:N为整数时,若超出bigint最大范围,则输出7FFFFFFFFFFFFFFF,若未超出hex将N值的十六进制字符串表示将10进制数以16进制形式显示;N为小数时,会先将N四舍五入为整数再进行hex函数执行;N为负数时,前面补F按照正常逻辑转换为十六进制格式的字符串。
  • 若参数是其他类型,会先转化为字符串然后按字符串进行处理。

问题分析

关于转16进制函数hex,mysql和kes均含有该函数,为进一步验证两函数功能相同,做了一下测试点:

  • 传参个数:kes中的kes函数可以接受一个传参,mysql中也只能接受以个参数;
  • 对于超出一个传参时,报错相同;
  • 传参最大均接受bigint大小
  • 两个函数均为输入null,传出null;
  • 对于传入空字符串‘’,返回结果也为空字符串;
  • 对于输入相同参数,两函数返回值相同;
  • 均支持输入数字3,自动转为字符串类型,按字符串逻辑处理;
  • 若超出bigint最大范围,则输出7FFFFFFFFFFFFFFF;
  • 对于性能问题,查询100条数据,kes下hex (cost=0.00..49.55 rows=2260 width=32) (actual time=0.002..0.002 rows=0 loops=1);mysql下hex (cost=10.25 rows=100) (actual time=0.039..0.214 rows=100 loops=1)

结论

经过以上测试点的测试结果看:

Kes完全支持mysql中hex函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值