mysql“选择mod(col1,10)…”生成bigint如何使其成为int类型

sqyvllje  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(254)

我有以下代码

String sql = "(select mod_col, 1 as count_col from ( " +
                    "select mod(col1, 10) as mod_col " +
                    "from table1 c " +
                    "where c.col2 = 1) temp " +
                    "group by mod_col, count_col ) as temp2";

DataFrame df = getDSEDataFrame(sql);

注意,col1是在mysql中定义的,类型为 int(11) NOT NULL .
但是,当我检查df时,mod\u col有一个正确的bigint值。这会导致异常 java.math.BigDecimal cannot be cast to java.lang.Integer 我的以下代码

List<Row> col1List = df.collectAsList();

        for (Row r : col1List) {
             Integer col1Val = r.getAs("mod_col");  // exception thrown here
        }

在上面的sql中有没有什么方法可以强制它返回一个整数而不是一个大整数?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题