Java 无法找出正在使用MOD函数的查询
我正在用Java编写SQL查询的以下代码:Java 无法找出正在使用MOD函数的查询,java,mysql,Java,Mysql,我正在用Java编写SQL查询的以下代码: String QueryString = " SELECT " + " RXCallDetailId_int, " + " DTSID_int, " + " FROM "
String QueryString = " SELECT "
+ " RXCallDetailId_int, "
+ " DTSID_int, "
+ " FROM "
+ " mytable "
+ " WHERE "
+ " StatusId_ti = " + ESID
+ " AND RXCallDetailId_int MOD " + NumberOfResultsThreads + " = " + CurrModValue;
检查完数据库表后,我看到基于StatusId_ti=-15的RXCallDetailId_int起始值为241712,最后一个值为305382
我将变量定义如下:
private static int NumberOfResultsThreads = 10;
private int CurrModValue = 10;
private static int ESID = -15;
我想知道,该行和RXCallDetailId_int MOD+NumberOfResultsThreads+=+CurrModValue的输出是什么
看起来像?无法想象在那里使用MOD函数,因为MySQL使用MOD函数的方式不同,如:
请澄清
谢谢N MOD M的结果将始终在范围内[0,M。因此,N MOD M M总是。因为NumberOfResultsThreads==CurrModValue,您的结果集是空的。因此,从数学上讲,在我的例子中,从RXCallDetailId_int的第一个值开始,如果我们替换这些值,我的查询看起来会像24172 MOD 10*10,诸如此类?我不明白。请解释。谢谢查询正在检查RXCallDetailId_int中的值除以10后是否有10的余数。在Java中,如果RXCallDetailId_int%10==10{…},则为10还记得当你在小学第一次学习除法时,你是如何用余数代替小数的吗?这就是MOD函数的作用。在N MOD 10的特定情况下,结果是N的最右边的数字。我明白了。有没有SQL语法类似于查询中使用的语法?因为N MOD M只有一个M,其中作为我的query在MOD的右边似乎有两个东西,即NumberOfResultsThreads和CurrModValue。N MOD M返回一个数字,您使用相等运算符将其与CurrModValue进行比较。换句话说,N MOD M=K。在您的例子中,N是RXCallDetailId\u int列中的一个值,M是NumberOfResultsThreads 10,K是CurrModValue al所以10,这就是为什么你的结果集是空的。