'MOD'不是公认的内置函数名称

时间:2014-04-26 12:10:48

标签: sql sql-server-2008 tsql sql-server-2008-r2 modulo

我想在MOD中使用SQL Server 2008R2函数并按照link进行操作,但仍然收到了消息:

  

' MOD'不是公认的内置函数名称。

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

错误:

  

Msg 195,Level 15,State 10,Line 2
  ' MOD'不是公认的内置函数名称。

为什么我无法从上面的链接中使用此功能?

5 个答案:

答案 0 :(得分:57)

MOD关键字仅存在于DAX语言(表格维度查询)中,而不是TSQL

改为使用%

参考:Modulo

答案 1 :(得分:4)

在TSQL中,模数使用百分号完成。

SELECT 38%5会给你modulo 3

答案 2 :(得分:1)

对于您的确切样本,它应该是这样的。

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

答案 3 :(得分:0)

可以使用%运算符完成。 即 选择50%5

答案 4 :(得分:-2)

如果使用JDBC驱动程序,则可以使用以下函数转义序列:

select {fn MOD(5, 2)}
#Result 1

select  mod(5, 2)
#SQL Error [195] [S00010]: 'mod' is not a recognized built-in function name.