cassandra数据库,某个字段text类型,18位数字时可以正确判断,19位失败。

select * from entities_by_time where key='activity:network:969525220979249162' and column1 > '1007227353832624141' limit 1;这是cql语句。这里1007227353832624141是19位数字。查询结果都是18位的。这明显是不对的。 cassandra。

可能原因:
1、一个是文本格式,一个是数值格式
2、可能数据前后有不可见的字符(如空格)
3、可能你的某个数据因为设置显示几位小数,但真实值并不一定就是这样的。追问

我这个column1格式是text,但是以前在数值为18位时是对的,就最近几天涨到了19位出错了。 有没有其他办法呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-12
把column1转换成int类型再比较
select * from entities_by_time where key='activity:network:969525220979249162' and CONVERT(column1,SIGNED) > 1007227353832624141追问

感谢您的回复,有没有关于cassandra配置可以修改的地方,另外我做过测试,17位的99999999999999的排序是对的 ,也就是说只有19位的column1是错的。 另外您给的语句有报错。