首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于查询日期列的InvalidQueryException :无法从以下位置进行无符号整数(用于日期):'1601856000000‘

用于查询日期列的InvalidQueryException :无法从以下位置进行无符号整数(用于日期):'1601856000000‘
EN

Stack Overflow用户
提问于 2020-11-04 23:10:42
回答 1查看 130关注 0票数 0

自从我们升级到Scala2.13之后,访问Cassandra中Date列的查询失败,并出现异常: Unable to make unsigned int (for date) from:'1601856000000‘

这个值显然太大了,不适合无符号整型。根据Cassandra documentation,date以无符号整数的形式存储,表示自纪元以来的天数

但是,当我查看幻影- Date代码时,我发现它故意从所有支持的DateSerializer类型中获取millisSinceEpoch值,这是异常中的值

专栏:object date extends DateColumn with ClusteringOrder with Descending

查询/方法:

代码语言:javascript
复制
    select
      .where(_.userId eqs userId)
      .and(_.date gte startDate)
      .fetch()(implicitly, executionContext)

Phantom-dsl版本2.59.0

我已经尝试使用LocalDate (同样的问题)并将列表示为StringColumn,如果我将日期格式化为YYYY-MM-dd,但是无法将结果集中的值解析为日期,则此方法适用于查询

这里我漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-11-19 18:03:07

过了一段时间,一位同事提出了一个解决方案:如果将列定义为com.datastax.driver.core.LocalDate,它就可以工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64682688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档