我想使用以下查询获取信息:
"SELECT int(Abs(x1-x2)+0.5) AS len, Count(*) AS num FROM Coordinates
GROUP BY int(Abs(x1-x2)+0.5)
ORDER BY int(Abs(x1-x2)+0.5) ASC;";
int len = reader.GetInt32(reader.GetOrdinal("len"));
但是我得到了double(x1和x2类型)。我正在使用Access数据库。 len 分组和排序不起作用。
答案 0 :(得分:1)
int
和floor
函数都不会更改类型,而只会舍入。
您需要CLng
或CInt
函数。
每个函数都将表达式强制转换为特定的数据类型。
语法
CBool(表达式)
CByte(表达式)
CCur(表达式)
CDate(表达式)
CDbl(表达式)
CDec(表达式)
CInt(表达式)
CLng(表达式)
CLngLng(expression)(仅在64位平台上有效。)
CLngPtr(表达式)
CSng(表达式)
CStr(表达式)
CVar(表达式)
必需的表达式参数是任何字符串表达式或数字 表达。
返回类型
函数名称确定返回类型