SQLServer中bigint转int带符号时报错问题解决方法
- 软件编程
- 2026-01-11 18:21:31
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个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
# 时需
# 多个
# 要使
# 要在
# 出现了
# 来做
# 再将
# 解决了
# 转换为
# 错了
# 非常大
# 有一个
# 问题是
# 写了
# 使用了
# 分了
# int
# SQLServer
# bigint
# 按每
# 符号
# expression
# SQL Server附加数据库报错无法打开物理文件
# 操作系统错误5的图文解决教程
# SQL Server 2005/2008 导入导出数据常见报错解决方法
# windows11安装sqlserver 2016数据库报错等待数据库引擎恢复句柄失败解决办法
# Windows 11安装SQL Server 2019出现"
相关栏目:
【
教研文案 】
【
日常文案 】
【
AI模型 】
【
网络运营 】
【
营销推广 】
【
云计算 】
【
技术教程 】
【
软件编程 】
【
汉字学习 】
【
歌词歌曲 】
【
精选文章 】
相关推荐:
python selenium 获取接口数据的实现
Linux下docker 容器退出bash的两种实现方法
python中二分查找法的实现方法
Python爬虫之App爬虫视频下载的实现
node koa2 ssr项目搭建的方法步骤
class类在python中获取金融数据的实例方法
快速解决pymongo操作mongodb的时区问题
如何关闭 IDEA 自动更新
详解anaconda安装步骤
基于binarywang封装的微信工具包生成二维码
JavaScript实现网页留言板功能
c++ 数组定义及初始化详解
MySQL数据库锁机制原理解析
Python虚拟环境virtualenv创建及使用过程图解
docker修改未启动容器的配置信息操作
解决python3中os.popen()出错的问题
详解prometheus监控golang服务实践记录
如何向scrapy中的spider传递参数的几种方法
vue+element_ui上传文件,并传递额外参数操作
为什么MySQL 使用timestamp可以无视时区问题.
使用git上传到码云分支的实现
在Vue中使用Echarts可视化库的完整步骤记录
Docker容器上用DockerFile部署多个tomcat服务的步骤
mongodb数据库实验之增删查改
详解Vue的mixin策略
c++ STL之list对结构体的增加,删除,排序等操作详解
PHP基于ip2long实现IP转换整形
解决docker run时候启动两个占有不同端口的问题
vue实现两个区域滚动条同步滚动
Java 基于tcp协议实现文件上传
解决goland新建项目文件名为红色的问题
C++可变参数函数的实现方法示例
eclipse输出Hello World的实现方法
python制作一个简单的gui 数据库查询界面
一篇文章教你用python画动态爱心表白
使用docker命令不需要敲sudo的操作
c++仿函数和函数适配器的使用详解
golang一些常用的静态检查工具详解
Java map.getOrDefault()方法的用法详解
java awt实现计算器功能
JS数据类型分类及常用判断方法
Python: glob匹配文件的操作
解决C语言中使用scanf连续输入两个字符类型的问题
快速入门Shell脚本之条件判断语句与循环
MySQL日期函数与时间函数汇总(MySQL 5.X)
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
微信小程序实现底部弹出模态框
C++和python实现阿姆斯特朗数字查找实例代码
python基于win32api实现键盘输入
mysql用户变量与set语句示例详解
本文转自网络,如有侵权请联系客服删除。
热门内容推荐
C#使用虚拟方法实现多态
- 2026-01-11
JavaScript原生对象之String对象的属性和方法详解
- 2026-01-11
js实现DOM走马灯特效的方法
- 2026-01-11
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
- 2026-01-11
php实现微信公众平台账号自定义菜单类
- 2026-01-11
