'MOD' is not a recognized built-in functio

2019-02-07 20:23发布

问题:

I wanted to use MOD function in SQL Server 2008R2 and followed this link but still got the message:

'MOD' is not a recognized built-in function name.

DECLARE @m INT
SET @m = MOD(321,11)
SELECT @m

Error:

Msg 195, Level 15, State 10, Line 2
'MOD' is not a recognized built-in function name.

Why I can't use this function from the link above?

回答1:

The MOD keyword only exists in the DAX language (tabular dimensional queries), not TSQL

Use % instead.

Ref: Modulo



回答2:

In TSQL, the modulo is done with a percent sign.

SELECT 38 % 5 would give you the modulo 3



回答3:

for your exact sample, it should be like this.

DECLARE @m INT
SET @m = 321%11
SELECT @m


回答4:

It can be done using % operator. i.e. SELECT 50 % 5