SQL Server 2012 中的 128 位 Int?

2024-01-08

我正在寻找在 SQL Server 中实现 128 位无符号整数的最佳方法。主要要求是它must支持所有 128 位的按位运算。 (理论上这在 64 位机器上可能吗?我离题了。)

我已经阅读了一些通过 CLR 程序集使用 C# 和用户定义类型的实现,但我无法确定这是否支持按位运算。

有人成功完成了我需要做的事情吗?任何投入将不胜感激。谢谢!!


数据库方面,我会使用binary[16] column.

然后在 clr 代码中,您可以在自定义类型中重载按位运算符:

public struct My128BitValue
{
    private readonly long _l1;
    private readonly long _l2;

    public My128BitValue(long l1, long l2)
    {
        _l1 = l1;
        _l2 = l2;
    }

    public static My128BitValue operator &(My128BitValue left, My128BitValue right)
    {
        return new My128BitValue(left._l1 & right._l1, left._l2 & right._l2);
    }

    public static My128BitValue operator |(My128BitValue left, My128BitValue right)
    {
        return new My128BitValue(left._l1 | right._l1, left._l2 | right._l2);
    }

    public static My128BitValue operator ^(My128BitValue left, My128BitValue right)
    {
        return new My128BitValue(left._l1 ^ right._l1, left._l2 ^ right._l2);
    }
}

CLR基本示例在这里,需要完成FromByteArray and ToByteArray方法:

using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

public partial class UserDefinedFunctions
{    
    [SqlFunction()]
    public static SqlBinary bitwiseAnd128Bit(SqlBinary lhs, SqlBinary rhs)
    {
        My128BitValue v1 = My128BitValue.FromByteArray((byte[])lhs); //explicit conversion
        My128BitValue v2 = My128BitValue.FromByteArray((byte[])rhs);
        My128BitValue result = v1 & v2;
        return result.ToByteArray(); //implicit conversion
    }
}

然后您可以从 SQL 运行bitwiseAnd128Bit在两列上。

在这里阅读有关 CLR 的更多信息http://msdn.microsoft.com/en-us/library/w2kae45k(v=vs.90).aspx http://msdn.microsoft.com/en-us/library/w2kae45k(v=vs.90).aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 2012 中的 128 位 Int? 的相关文章

  • 用 C# 启动 Windows 服务

    我想启动一个刚刚安装的Windows服务 ServiceBase ServicesToRun if bool Parse System Configuration ConfigurationManager AppSettings RunSe
  • 将指针转换为浮点数?

    我有一个unsigned char 通常 这指向一块数据 但在某些情况下 指针就是数据 即 铸造一个int的价值unsigned char 指针 unsigned char intData unsigned char myInteger 反
  • 泛型与接口的实际优势

    在这种情况下 使用泛型与接口的实际优势是什么 void MyMethod IFoo f void MyMethod
  • 使用静态类型代替变量

    当您的项目不使用命名空间时 有什么方法可以告诉编译器使用静态类型而不是变量吗 例如 我有一个名为 User 的类 它具有各种静态和非静态方法 假设调用了其中一个静态方法GetUser 我想称之为User GetUser 方法来自一个方法 该
  • 使用 Selenium for C# 登录 Facebook

    我一直在使用 Selenium C 框架并尝试进行 facebook 登录 但没有任何运气 这是我到目前为止得到的 基于这篇文章 使用 Selenium 测试 Facebook Connect 应用程序 https stackoverflo
  • 有没有办法使 C90 标准中的枚举无符号? (符合 MISRA-C 2004 标准)

    我正在尝试找到一种使枚举 无符号 的方法 enum x1 0 x2 x3 uint8 t x2 lt PC LINT MISRA C 2004 will complain about mixing signed and unsigned h
  • Azure 2012 年 10 月 SDK 损坏 UseDevelopmentStorage=true

    有人尝试过使用 usedevelopmentstorage true 连接字符串的 2012 年 10 月 Azure sdk 吗 CloudStorageAccount Parse UseDevelopmentStorage true 抛
  • C++ 中的 Java ArrayList [重复]

    这个问题在这里已经有答案了 在Java中我可以做 List
  • 使用成员作为实现者来实现接口

    我有实现 IA 的 A 类 现在我需要创建也应该实现 IA 的类 B B 类有 A 类的实例作为成员 有什么方法可以定义A的实例实现B类中的IA吗 interfase IA void method1 void method2 void me
  • 如何防止字符串被截留

    我的理解 可能是错误的 是 在 C 中 当你创建一个字符串时 它会被实习到 实习生池 中 这保留了对字符串的引用 以便多个相同的字符串可以共享操作内存 但是 我正在处理很多很可能是唯一的字符串 一旦完成每个字符串 我需要将它们从操作内存中完
  • 替换 JSON 中的转义字符

    我想用空格替换 JSON 字符串中的 字符 我怎样才能做到这一点 我发现从 JSON 字符串中删除所有转义字符的最简单 最好的方法是将字符串传递到正则表达式 Unescape 方法 此方法返回一个没有转义字符的新字符串 甚至删除了 n t
  • 枚举器上的 [[maybe_unused]]

    查看规格 maybe unused http en cppreference com w cpp language attributes 它指出 出现在类 typedef 变量 非静态数据成员 函数 枚举或枚举器的声明中 如果编译器对未使用
  • 如何用C++解析复杂的字符串?

    我试图弄清楚如何使用 解析这个字符串sstream 和C 其格式为 string int int 我需要能够将包含 IP 地址的字符串的第一部分分配给 std string 以下是该字符串的示例 std string 127 0 0 1 1
  • 如何将 LEFT JOIN 限制为 SQL Server 中的第一个结果?

    我有一些 SQL 几乎可以做我想做的事情 我正在使用三个表 Users UserPhoneNumbers 和 UserPhoneNumberTypes 我正在尝试获取用户列表及其电话号码以供导出 数据库本身很旧并且存在一些完整性问题 我的问
  • 为什么C++变量是指针时不需要正确定义?

    我对 C 语言完全陌生 特别是指针 经验主要是 PHP 并且希望对以下内容进行一些解释 我已经尝试寻找答案 这两行代码如何能够在我的程序中完成完全相同的工作 第二行似乎违背了我迄今为止所学到和理解的关于指针的一切 char disk 3 D
  • std::string 在 Visual Studio 上的具体行为?

    我有一个项目需要读取 写入大文件 我决定使用 ifstream read 将这些文件一次性放入内存中 放入 std string 中 这似乎是在 C 中执行此操作的最快方法 http insanecoding blogspot com 20
  • Qt mouseReleaseEvent() 未触发?

    我有一个显示图片的库 我们称之为 PictureGLWidget 其中 class PictureGLWidget public QGLWidget 所以 PictureGLWidget 扩展了 QGLWidget 在PictureGlWi
  • 使用互斥锁来阻止临界区外部的执行

    我不确定我的术语是否正确 但这里是 我有一个由多个线程使用的函数来写入数据 在注释中使用伪代码来说明我想要的内容 these are initiated in the constructor int data std atomic
  • 为什么 std::ranges::filter_view 对象必须是非常量才能查询其元素?

    include
  • 需要使用 openssl 加密和解密文件的示例 C 代码

    我正在用 Linux C 编写代码 我需要使用以下命令来加密和解密文件 openssl 目前 我使用系统命令 des3 e nosalt k 0123456789012345 in inp file out out file 进行加密 使用

随机推荐

  • 使用 Gmail 凭据登录

    有没有一种方法可以使用 Google 凭据来获取基本用户信息 例如 电子邮件 姓名 性别 并在我的应用程序中使用它们 这就像允许用户使用 Gmail 登录我的应用程序一样 我也问了同样的问题here https stackoverflow
  • ggplot2 二维密度权重

    我正在尝试使用 R 中的 ggplot2 用二维密度轮廓绘制一些数据 我得到一个有点奇怪的结果 首先 我设置了 ggplot 对象 p lt ggplot data aes x Distance y Rate colour Company
  • 如何让 gVim 的 vimdiff 忽略大小写?

    我正在尝试比较两个程序集文件 其中一个文件全部大写 另一个文件全部小写 许多行在大小写和空格方面都是相同的 我尝试了以下操作 同时两个缓冲区处于差异模式 set diffopt icase set diffopt iwhite diffup
  • List.Add 似乎是重复的条目。怎么了?

    我有一堂这样的课 public class myClass public List
  • 计划任务的限制(或者任务持久化是如何实现的)?

    我开始阅读 Hangfire 文档 但没有发现任何有关任务限制的信息 正如声明的那样 任务 或作业 存储在某个地方 由于它们只是代表 据我所知 唯一可以存储的东西是代表 主体 IL 但是可能存在闭包 它为任务提供了一些上下文 例如一些外部服
  • 如何在Python中对二进制文件进行base64编码/解码?

    我正在尝试使用 python 使用以下简单代码对同一图像文件进行编码和解码 但每次输出文件都大于输入文件并且无法打开 这段代码有什么问题 import base64 with open img jpeg rb as image file e
  • 多线程异常和Dispose。为什么 Dispose 没有调用?

    using 语句保证该对象将被调用 Dispose 方法 在此示例中 这种情况没有发生 并且终结器方法也没有调用 为什么这一切 当其他线程发生异常时 如何更改代码以保证处理我的对象 class Program static void Mai
  • JavaScript 中的动态方法调用

    我知道我可以这样做 var myClass my class definition var methodName myMethod myClass methodName p1 p2 pN 但如果有这样的情况我该怎么办 if data som
  • 在 tkinter 画布上绘制 png 图像 python

    我正在尝试使用创建一个简单的游戏tkinter in python 3 5使用画布小部件 对于这个游戏 我需要能够使用透明 png 图像 这是我的代码 from PIL import ImageTk from tkinter import
  • 我可以使用 PHP 读取 .TXT 文件吗?

    当我开始使用 PHP 和 MySQL 编写站点时 我编写的第一个 PHP 脚本之一是初始化数据库的脚本 删除 创建数据库 删除 创建每个表 然后从脚本中的文字加载表 一切正常 呼呼 但我更喜欢从文件中读取数据 而不是在 PHP 脚本中对它们
  • 对 C99 可变长度数组 (VLA) 使用限制限定符

    我正在探索 C99 中简单循环的不同实现如何根据函数签名自动矢量化 这是我的代码 define PRAGMA SIMD Pragma simd define PRAGMA SIMD ifdef INTEL COMPILER define A
  • 调整容器引擎集群上实例类型的大小

    我们的一些容器在内存高于容器引擎集群中当前部署的实例类型时运行得更好 创建容器引擎集群后 是否有推荐的做法来为较大的实例重建容器引擎模板 例如 从 GCE 实例 n1 standard 2 到 n1 highmem 8 来运行具有 8GB
  • 为什么我的配置项没有从 codeigniter 中的 getenv() 条目填充?

    我将 phpdotenv 与 Codeigniter 一起使用 Codeigniter 的环境设置不太适合这个项目 我试图在我的 config php 文件中设置它 config site id getenv APP ID phpdoten
  • 在 Android 中以编程方式撤销权限

    是否可以在 Android Marshmallow 中删除或撤销应用程序的权限 请注意 它应该在运行时完成 因此使用 ADB shell 脚本或将应用程序转换为其字节 DEX 代码是不可能的 因为架构更改不是所需解决方案的选项 仅当您的应用
  • 高效排序 mongodb 地理空间查询的结果

    我有大量文档 例如 loc 10 32 24 34 relevance 0 434 并希望能够有效地执行如下查询 loc geoWithin box 103 10 1 80 43 30 232 与任意盒子 添加二维索引loc使得这非常快速和
  • PHP/GD:更好的高斯模糊

    我想用 GD 库模糊图像 不幸的是 GD 提供的 GAUSSIAN BLUR 效果还不够 我想要更多blurrish
  • ComBox 更改后用时间计算填充列表框

    我这里有一个简单的用户表单 它根据组合框的更改填充列表框 组合框中唯一列表的代码 Private Sub UserForm Initialize used this code to get a dynamic combobox unique
  • 在 gnu Makefile 中组合多个 ifeq 和 ifneq

    如果语法如下 如何添加多个选择 ifeq VAR1 some string 结合 ifneq VAR2 some other string 结合更多 有单线吗 像 幻想代码 ifeq VAR1 some string and not VAR
  • Sphinx 文档模块属性

    我有一个模块应该有 property 我通过设置一个类作为模块解决了这个问题 我从这个答案中得到了这个想法 惰性模块变量 可以做到吗 https stackoverflow com questions 1462986 lazy module
  • SQL Server 2012 中的 128 位 Int?

    我正在寻找在 SQL Server 中实现 128 位无符号整数的最佳方法 主要要求是它must支持所有 128 位的按位运算 理论上这在 64 位机器上可能吗 我离题了 我已经阅读了一些通过 CLR 程序集使用 C 和用户定义类型的实现