一个函数解决SQLServer中bigint 转 int带符号时报错问题
- 软件编程
- 2026-01-11 17:59:00
有一个需求是要在一个云监控的状态值中存储多个状态(包括可同时存在的各种异常、警告状态)使用了位运算机制在一个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
# 按每
# expression
# SQL Server附加数据库报错无法打开物理文件
# 操作系统错误5的图文解决教程
# SQL Server 2005/2008 导入导出数据常见报错解决方法
# mysql启动报错MySQL server PID file could not be found
# SQLServer中bigint转int带符号时报错问题解决方法
# SQL Server作业报错特殊案例分析
# sql server利用不同语种语言显示报错错误消息的方法示例
# bigint转int
# linux mysql 报错:MYSQL:The server&nbs
# mysql报错:MySQL server version for the right syntax
# SQL Server2005打开数据表中的XML内容时报错的解决办法
相关栏目:
【
教研文案 】
【
日常文案 】
【
AI模型 】
【
网络运营 】
【
营销推广 】
【
云计算 】
【
技术教程 】
【
软件编程 】
【
汉字学习 】
【
歌词歌曲 】
【
精选文章 】
相关推荐:
mysql分页的limit参数简单示例
Docker 命令自动补全的实现
python3通过subprocess模块调用脚本并和脚本交互的操作
IdeaGo启动报错Failed to create JVM的问题解析
vue-drawer-layout实现手势滑出菜单栏
Java如何利用状态模式(state pattern)替代if else
c++ 数组定义及初始化详解
flask项目集成swagger的方法
C# 使用SDL2实现Mp4文件播放音视频操作
JavaScript实现复选框全选和取消全选
如何创建一个Flask项目并进行简单配置
javascript实现放大镜功能
通过代码实例解析PHP session工作原理
C#窗体程序实现全屏及取消全屏步骤
docker run 运行容器自动结束的解决
Python数据分析库pandas高级接口dt的使用详解
Python排序函数的使用方法详解
docker清理大杀器/docker的overlay文件占用磁盘太大的解决
python基于win32api实现键盘输入
docker部署nginx并且挂载文件夹和文件操作
PyTorch中的拷贝与就地操作详解
JS操作JSON常用方法(10w阅读)
C# 对象映射的高性能方案
Java 基于UDP协议实现消息发送
详解mysql中explain的type
TCP socket SYN队列和Accept队列区别原理解析
python读写数据读写csv文件(pandas用法)
Android AS为xutils添加依赖过程图解
c# 实现KMP算法的示例代码
原生js实现点击按钮复制内容到剪切板
Spring Boot优雅地处理404异常问题
一篇文章教你用python画动态爱心表白
VUE+Element实现增删改查的示例源码
C++ 实现输入含空格的字符串
Goland编辑器设置选择范围背景色的操作
java 静态工厂代替多参构造器的适用情况与优劣
fastJson泛型如何转换的实现
C++调用Go方法的字符串传递问题及解决方案
python selenium 获取接口数据的实现
详解C# List<T>的Contains,Exists,Any,Where性能对比
Spring Boot2读取配置常用方法代码实例
springboot实现异步调用@Async的示例
开启OCSP提升https证书验证效率解决Let’s Encrypt SSL证书访问慢的问题
Springmvc模式上传和下载与enctype对比
python通过cython加密代码
Android Studio配置本地SDK的方法
python的dict判断key是否存在的方法
深入解析PHP底层机制及相关原理
阿里云盘激活码免费送!teambition网盘内测邀请码注册(限时获取教程)
超简单实现Docker搭建个人博文系统
本文转自网络,如有侵权请联系客服删除。
热门内容推荐
C#使用虚拟方法实现多态
- 2026-01-11
JavaScript原生对象之String对象的属性和方法详解
- 2026-01-11
js实现DOM走马灯特效的方法
- 2026-01-11
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
- 2026-01-11
php实现微信公众平台账号自定义菜单类
- 2026-01-11
