在t-sql中对大量执行模数

Eri*_*ikL 4 sql t-sql sql-server

我需要计算一个数字的余数除以另一个数字.例如,这些数字:

271011240311350356232122%97

当我只想在sql语句中这样做时,它就像一个魅力:

选择271011240311350356232122%97;

但是当我在varchar变量中有那个大数字时,我似乎无法完成工作.我无法将其转换为int或甚至bigint,因为它太大了.我无法将其转换为实数,因为您无法在实数上使用模运算符.

有任何想法吗...?

Mar*_*ith 7

如果它太大bigint你可以使用NUMERIC(38,0)

DECLARE @Num VARCHAR(38) = '271011240311350356232122'
SELECT CAST(@Num AS NUMERIC(38,0)) % 97
Run Code Online (Sandbox Code Playgroud)