无法弄清楚如何在 Caché SQL 中使用 MODULO/MODULUS 函数
Cannot figure out how to use MODULO/MODULUS function in Caché SQL
我正在使用 DB Visualizer Pro 9.2.6
我尝试了多种变体,包括以下
SELECT TOP 10 * FROM tableName WHERE {ID MOD(5,3)}
SELECT TOP 10 * FROM tableName WHERE ID MOD(5,3)
SELECT TOP 10 * FROM tableName WHERE ID MOD 5 = 3
SELECT TOP 10 * FROM tableName WHERE ID % 5 = 3
老实说,文档对我来说毫无意义... "fn" 是字段名称吗?我认为这是一个功能,但他们选择的是什么领域?这只是令人困惑...
从 examples 看来,fn
应该包含在大括号内:
The following example shows the remainder returned by MOD.
SELECT DISTINCT {fn MOD(5,3)} AS Remainder
FROM Sample.Person
returns 2
The following example shows the remainder returned by MOD with a negative dividend.
SELECT DISTINCT {fn MOD(-5,3)} AS Remainder
FROM Sample.Person
returns 1
如果您查看另一个函数,例如 ROUND
,它们使用相同的语法(以及其他)。
所以在你的情况下,可能是这样的(假设你想要满足 5 % ID == 3
的记录)
SELECT TOP 10 * FROM tableName WHERE {fn MOD(ID,5)} = 3
令人困惑?是的
还有一个二元运算符求模:#
我正在使用 DB Visualizer Pro 9.2.6
我尝试了多种变体,包括以下
SELECT TOP 10 * FROM tableName WHERE {ID MOD(5,3)}
SELECT TOP 10 * FROM tableName WHERE ID MOD(5,3)
SELECT TOP 10 * FROM tableName WHERE ID MOD 5 = 3
SELECT TOP 10 * FROM tableName WHERE ID % 5 = 3
老实说,文档对我来说毫无意义... "fn" 是字段名称吗?我认为这是一个功能,但他们选择的是什么领域?这只是令人困惑...
从 examples 看来,fn
应该包含在大括号内:
The following example shows the remainder returned by MOD.
SELECT DISTINCT {fn MOD(5,3)} AS Remainder FROM Sample.Person
returns 2
The following example shows the remainder returned by MOD with a negative dividend.
SELECT DISTINCT {fn MOD(-5,3)} AS Remainder FROM Sample.Person
returns 1
如果您查看另一个函数,例如 ROUND
,它们使用相同的语法(以及其他)。
所以在你的情况下,可能是这样的(假设你想要满足 5 % ID == 3
的记录)
SELECT TOP 10 * FROM tableName WHERE {fn MOD(ID,5)} = 3
令人困惑?是的
还有一个二元运算符求模:#