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

时间:2013-11-29 14:11:33

标签: sql sql-server tsql

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

271011240311350356232122%97

当我只想在sql语句中执行此操作时,它就像一个魅力:

选择271011240311350356232122%97;

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

任何想法......?

1 个答案:

答案 0 :(得分:7)

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

DECLARE @Num VARCHAR(38) = '271011240311350356232122'
SELECT CAST(@Num AS NUMERIC(38,0)) % 97