我的表有一个列,我知道它是一个 128 位无符号数,以 varchar 形式存储在 base-10 中,例如
"25495123833603613494099723681886"
我知道这个数字中的位域,我想使用GROUP BY.
在我的示例中,前 64 位将是1382093432409
我还没有找到方法,但我已经消除了一些线索:
- 无法转换为
NUMERIC/DECIMAL因为这些也是 64 位的 - 不能使用
LEFT(),因为1<<64不是 base-10 对齐的 CONV(N,10,16)将允许LEFT()但CONV()也只能以 64 位精度工作:(
我怎样才能得到BIGINT这个数字的前 64 位,所以我可以在GROUP BY?