sql通过int()选择组

时间:2018-12-17 12:28:44

标签: c# sql ms-access

我想使用以下查询获取信息:

    "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 分组和排序不起作用。

1 个答案:

答案 0 :(得分:1)

intfloor函数都不会更改类型,而只会舍入。 您需要CLngCInt函数。

  

每个函数都将表达式强制转换为特定的数据类型。

     

语法

     

CBool​​(表达式)

     

CByte(表达式)

     

CCur(表达式)

     

CDate(表达式)

     

CDbl(表达式)

     

CDec(表达式)

     

CInt(表达式)

     

CLng(表达式)

     

CLngLng(expression)(仅在64位平台上有效。)

     

CLngPtr(表达式)

     

CSng(表达式)

     

CStr(表达式)

     

CVar(表达式)

     

必需的表达式参数是任何字符串表达式或数字   表达。

     

返回类型

     

函数名称确定返回类型