【问题标题】:sql select group by int()sql select group by int()
【发布时间】:2018-12-17 12:28:43
【问题描述】:

我想用这个查询得到 int:

    "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"));

但我得到双倍(x1 和 x2 类型)。我正在使用 Access 数据库。按 len 分组和排序不起作用。

【问题讨论】:

  • 尝试使用 func floor/ceil 而不是 int

标签: c# sql ms-access


【解决方案1】:

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

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

语法

CBool​​(表达式)

CByte(表达式)

CCur(表达式)

CDate(表达式)

CDbl(表达式)

CDec(表达式)

CInt(表达式)

CLng(表达式)

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

CLngPtr(表达式)

CSng(表达式)

CStr(表达式)

CVar(表达式)

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

返回类型

函数名决定返回类型

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 2014-11-26
    • 2023-03-10
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2013-03-25
    相关资源
    最近更新 更多