利用hive的内置函数做长数据的运算

楼下小黑的大表哥 2019-08-17 10:09:53
1.需求
统计每个月每天出现的情况,比如下面两串数字
0100010101000101010100101010101
1101010101010101010100101010100
这两串数字一共31位的,每一位代表某个月的某一天,如电信的号码某一天有使用流量记录就置成1,没有为0

现在是想把这两串数字拼起来,我需要的数字是两个标识同一天有1的就置为1,两个1也置为1,得出的结果最好不要有科学计数的出现,我想要结果是这样的 1101010101010101010100101010101。---------按位或 运算

2.进程
因为数字长度有31位,普通的数字类型不能存下这么长的数据,所以建表的时候,我利用string类型存储了这两行数据。

在进行或运算的时候,我需要将string类型转换成整型,我利用bigint来进行存储,但是问题是,我是用cast函数进行转换的过程中,发现开头为0的字符串抓换完以后,不能保留开头的0数字。所以得出的结果不正确。

求助大佬帮我利用内置函数来将这个string类型转换过后的数据保留0,并且还能进行运算。
...全文
45 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
好了,给位大佬,已经解决了,我刚刚只是做了查询,然后发现数据不正确,所以就进行了求助。
现在我发现将字符串对半截开以后,转换后的数据类型不影响运算

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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