SQLServer中bigint转int带符号时报错问题解决方法
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个int型中存储。
现在监控日志数据量非常大(亿级别)需要对数据按每小时、每天进行聚合,供在线报表使用。
状态分了3个级别:正常(0)、警告(1)、异常(2),聚合时需要使用max选择最差的状态,就需要对状态值进行处理加上级别和状态位个数,就要借助bigint型来做运算了,
问题是再将bigint 转为 int时获取原始状态值时,SQLServer报错了:
消息 8115,级别 16,状态 2,第 1 行
将 expression 转换为数据类型 int 时出现算术溢出错误。
因为状态码中已经用到了 0x80000000, 出现了符号位的问题。
写了一个转换函数解决了。
CREATE FUNCTION [dbo].[BigintToInt] ( @Value bigint ) RETURNS int AS BEGIN -- 是否有int符号位 IF @Value & 0x80000000 <> 0 RETURN @Value & 0xFFFFFFFF | 0xFFFFFFFF00000000 -- 无符号位 RETURN @Value & 0xFFFFFFFF END
相关推荐
-
SQLServer中bigint转int带符号时报错问题解决方法
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常.警告状态)使用了位运算机制在一个int型中存储. 现在监控日志数据量非常大(亿级别)需要对数据按每小时.每天进行聚合,供在线报表使用. 状态分了3个级别:正常(0).警告(1).异常(2),聚合时需要使用max选择最差的状态,就需要对状态值进行处理加上级别和状态位个数,就要借助bigint型来做运算了, 问题是再将bigint 转为 int时获取原始状态值时,SQLServer报错了: 消息 8115,级别 16,状态
-
一个函数解决SQLServer中bigint 转 int带符号时报错问题
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常.警告状态)使用了位运算机制在一个int型中存储. 现在监控日志数据量非常大(亿级别)需要对数据按每小时.每天进行聚合,供在线报表使用. 状态分了3个级别:正常(0).警告(1).异常(2),聚合时需要使用max选择最差的状态,就需要对状态值进行处理加上级别和状态位个数,就要借助bigint型来做运算了, 问题是再将bigint 转为 int时获取原始状态值时,SQLServer报错了: 消息 8115,级别 16,状态
-
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
This application failed to start because it could not find or load the Qt platform plugin "windows" in " ". 百度谷歌了好久都没能解决这个问题都没能解决 开始我以为是缺少windows这个包,但是代码里并没有用到,所以我打断点去看代码到底问题出在哪里 发现问题出在matplotlib上面,我猜想是Qt和matplotlib版本不兼容导致的,于是我卸载了这两个插件
-
JS 调试中常见的报错问题解决方法
报错:Uncaught SyntaxError: Unexpected token o in JSON at position 1 at JSON.parse (<anonymous>) at Function.m.parseJSON (jquery.js:8515) at Object.success (crud.html:45) at j (jquery.js:3143) at Object.fireWith [as resolveWith] (jquery.js:3255) at x (
-
解决mybatis-plus使用jdk8的LocalDateTime 查询时报错的方法
mybatis-plus使用jdk8的LocalDateTime 查询时报错: org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'update_time' from result set. Cause: java.sql.SQLFeatureNotSupportedException ; null; nested exception is java.sql.SQ
-
关于IDEA2020.1新建项目maven PKIX 报错问题解决方法
报错问题如图: 仔细看报错问题后发现,这个错误的主要原因是: ValidatorException:PKIX path building failed : sun.security.provider.certpath.SunCertPathBuilderException : unable to find valid certification path to requested target 造成这个错误的原因是因为有些依赖和插件下载的时候需要验证证书,网上找了好多资料最终解决的,我这里集合了
-
python中requests爬去网页内容出现乱码问题解决方法介绍
最近在学习python爬虫,使用requests的时候遇到了不少的问题,比如说在requests中如何使用cookies进行登录验证,这可以查看这篇文章.这篇博客要解决的问题是如何避免在使用requests的时候出现乱码. import requests res=requests.get("https://www.baidu.com") print res.content 以上就是使用requests进行简单的网页请求数据的方式.但是很容易出现乱码的问题. 我们可以通过在网页上右击查看
-
JSP页面中超链接传递中文参数出现乱码问题解决方法
本文实例讲述了JSP页面中超链接传递中文参数出现乱码问题解决方法.分享给大家供大家参考,具体如下: 这里分析超链接传递中文参数,在接受页面中出现乱码问题的解决方法. 解决方法: 在接受页面里可以如下处理, 复制代码 代码如下: <%=new String(request.getParameter("变量名字").getBytes("ISO-8859-1")) %> 注意这里用的是 new String() 创建一个新的字符串 例题: 页面一: <h
-
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
最近在项目中实现在循环出来的图片中当鼠标移入隐藏当前图片显示另一张图片的需求时碰到了一个小问题.就是当使用@mouseenter 和@mouseleave事件来实现这个需求时却发现鼠标移入后图片出现闪烁现象. 重点:事件写到父元素上才行!!! 0.0 下面写下我的实现方法和实现效果 样式代码: <div class="imgs" v-for="(item,index) in exampleUrl" :key = index @mouseenter ="
-
IDEA 2021.2 激活教程及启动报错问题解决方法
关于idea2021最新激活教程,请点击此处,获取最新激活教程 还有一种激活方法,点击此处获取吧 ! 下面看下IDEA 2021.2 启动报错问题解决方法,内容如下所示: 错误信息如下: Plugin 'some.awesome' failed to initialize and will be disabled. Please restart IntelliJ IDEA. java.lang.NullPointerException at NyanApplicationComponen
随机推荐
- NodeJS使用formidable实现文件上传
- js清空表单数据的两种方式(遍历+reset)
- javascript 显示当前系统时间代码
- javascript IP、域名、手机号码正则表达式验证代码
- JS图片切换的具体方法(带缩略图版)
- Python递归遍历列表及输出的实现方法
- c++10进制转换为任意2-16进制数字的实例
- mysql中向表中某字段追加字符串的方法
- Vue中的ref作用详解(实现DOM的联动操作)
- js 弹出层 并可以拖拽
- SQL语句优化提高数据库性能
- 映彩衣的js随笔(js图片切换效果)
- 深入C#判断操作系统类型的总结详解
- java的Arrays工具类实战
- 详解Spring batch 入门学习教程(附源码)
- php中将时间差转换为字符串提示的实现代码
- python 列表删除所有指定元素的方法
- Spring Boot 从静态json文件中读取数据所需字段
- 浅谈JS中this在各个场景下的指向
- java数学工具类Math详解(round方法)