我正在尝试从具有双类型列的Cassandra表中获取Double值。我用CQL3语法创建了表:
CREATE TABLE data_double (
datetime timestamp,
value double,
primary key (datetime)
);
我插了一行:
INSERT INTO data_double (datetime, value) VALUES ('111111111', 123.456);
当我这样做时:
SELECT * from data_double;
我得到的值是 123.46
为什么值会四舍五入?
由于
答案 0 :(得分:9)
默认情况下,cqlsh
实用程序仅显示浮点数的5位精度。
您可以通过创建包含以下内容的cqlshrc文件来增加此功能:
[ui]
float_precision = 10
cqlsh docs page提供了有关可用选项的更多详细信息。
更新: cssshrc文件的位置在Cassandra中的某个位置发生了变化。新的默认位置为~/.cassandra/cqlshrc
。您还可以使用--cqlshrc
命令行选项在不同位置使用文件。