麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

一個函數解決SQLServer中bigint 轉 int帶符號時報錯問題

2024-08-31 01:02:34
字體:
來源:轉載
供稿:網友

有一個需求是要在一個云監控的狀態值中存儲多個狀態(包括可同時存在的各種異常、警告狀態)使用了位運算機制在一個int型中存儲。

現在監控日志數據量非常大(億級別)需要對數據按每小時、每天進行聚合,供在線報表使用。
狀態分了3個級別:正常(0)、警告(1)、異常(2),聚合時需要使用max選擇最差的狀態,就需要對狀態值進行處理加上級別和狀態位個數,就要借助bigint型來做運算了,

問題是再將bigint 轉為 int時獲取原始狀態值時,SQLServer報錯了:

消息 8115,級別 16,狀態 2,第 1 行
將 expression 轉換為數據類型 int 時出現算術溢出錯誤。

因為狀態碼中已經用到了 0x80000000, 出現了符號位的問題。
寫了一個轉換函數解決了。

CREATE FUNCTION [dbo].[BigintToInt](@Value bigint )RETURNS intASBEGIN-- 是否有int符號位IF @Value & 0x80000000 <> 0 RETURN @Value & 0xFFFFFFFF | 0xFFFFFFFF00000000-- 無符號位RETURN @Value & 0xFFFFFFFFEND

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 韩国一大片a毛片 | 欧美 中文字幕 | 精品久久久久久久久久久久久 | 久久免费看毛片 | 国产免费一区二区三区最新不卡 | 久久久久夜色精品国产老牛91 | 免费一级特黄毛片 | 一区国产在线观看 | 欧美精品18| 国产精品久久久久久久久久妇女 | www.99热精品 | 午夜视频在线观 | 久久人人av | 国产88久久久国产精品免费二区 | 毛片在哪里看 | 夜夜夜精品视频 | 在线天堂中文在线资源网 | 蜜桃视频最新网址 | 精品午夜影院 | 国产一级毛片视频在线! | 在火车上摸两乳爽的大叫 | 日韩在线欧美在线 | 日韩午夜片 | 久久久久久99 | 欧美成人一二三区 | 99精品无人区乱码在线观看 | 国产成人精品区 | 美女视频黄视大全视频免费网址 | 国产精品麻豆一区二区三区 | 国产片91| 666sao| 黄色试看视频 | 永久免费在线观看av | 免费观看一区 | 国产一区二区三区四区五区精品 | 黄色av网| 午夜视频啊啊啊 | 久久久久久久久亚洲精品 | 久久久免费观看完整版 | 一区二区久久精品66国产精品 | 精品国产亚洲人成在线 |