问题
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
回答5:
If using JDBC driver you may use function escape sequence like this:
select {fn MOD(5, 2)}
#Result 1
select  mod(5, 2)
#SQL Error [195] [S00010]: 'mod' is not a recognized built-in function name.
来源:https://stackoverflow.com/questions/23310661/mod-is-not-a-recognized-built-in-function-name