Question

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?

Was it helpful?

Solution

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

Use % instead.

Ref: Modulo

OTHER TIPS

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

SELECT 38 % 5 would give you the modulo 3

for your exact sample, it should be like this.

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

It can be done using the % operator.

i.e.

SELECT 50 % 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.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top