我们如何对SQL二进制数据类型执行操作?

时间:2011-10-16 00:07:14

标签: mysql sql database

大家可以对MySQL / SqlServer二进制数据类型进行算术运算吗?

例如,我在列中存储了256位值。

我想在10000000000(1024)和10011010100111110101(633333)之间选择值。

数据库是否提供此功能?

或者将它存储为4个64位整数列,是从x到y选择范围的唯一方法吗?

1 个答案:

答案 0 :(得分:2)

根据定义,“二进制数据类型”/二进制对象/ BLOB对数据库是不透明的。如果您使用此类型,则由应用程序来处理它。

如果您希望数据库处理/索引/查询您的数据,请选择它理解的数据类型。对于SQL Server,BIGINT是8字节(64位),NUMERIC可以是38位(~126位)。在MySQL中,DECIMAL / NUMERIC可以达到64位或65位(~212位)。

如果你确实在这里确实有一个真正的要求,你可以将实际的重要部分“分解”到他们自己的列中。查询那些。

最直率的&不知情的解决方法案例,可以将您的256位块分成2或4个字;但如果您有任何实际要求,您应该能够确定更具体的商业利益部分。