时间:2021-05-23
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。
现在监控日志数据量非常大(亿级别)需要对数据按每小时、每天进行聚合,供在线报表使用。
状态分了3个级别:正常(0)、警告(1)、异常(2),聚合时需要使用max选择最差的状态,就需要对状态值进行处理加上级别和状态位个数,就要借助bigint型来做运算了,
问题是再将bigint 转为 int时获取原始状态值时,SQLServer报错了:
消息 8115,级别 16,状态 2,第 1 行
将 expression 转换为数据类型 int 时出现算术溢出错误。
因为状态码中已经用到了 0x80000000, 出现了符号位的问题。
写了一个转换函数解决了。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
openoffice不能调用SCIM的问题解决方法$oowriterQUOTE:Gtk-Message:Failedtoloadmodule"gnomebrea
Mysqlmysqllostconnectiontoserverduringquery问题解决方法缘由:在查询Mysql中的数据库,或者修改比较大的表的时候就会
出现这个问题解决方法:点击File>Settings>Tools>ServerCertificates>Acceptnon-trustedcertificate
LNMPA中Apache的/root/lnmpastatus问题解决方法高手请无视,小白可借鉴。问题描述:LNMP0.7升级到LNMPA后运行命令/root/l
在我发在IT圈之前的「关于WindowsSearch没有搜索网页的解决方法」的文章中,我当时操作的时候没有截图,然后把问题解决后没法还原当时的问题,因此只能文字