2014-05-09 17 views
5

Sto cercando di ottenere un valore doppio da una tabella Cassandra con una colonna di tipo doppio. Ho creato la tabella in CQL3 sintassi:Astyanax Cassandra Precisione doppia precisione

CREATE TABLE data_double (
    datetime timestamp, 
    value double, 
    primary key (datetime) 
    ); 

ho inserito consecutive:

INSERT INTO data_double (datetime, value) VALUES ('111111111', 123.456); 

Quando faccio:

SELECT * from data_double; 

ottengo che il valore è 123.46

Perché il valore è arrotondato?

Grazie

risposta

7

Il cqlsh utilità per default visualizza solo 5 cifre di precisione per i numeri in virgola mobile.

È possibile aumentare questo creando un file cqlshrc con contenuti come le seguenti:

[ui] 
float_precision = 10 

Il cqlsh docs page fornisce ulteriori dettagli sulle opzioni disponibili.

Aggiornamento: La posizione del file cqlshrc è cambiata in qualche punto in Cassandra. La nuova posizione predefinita è ~/.cassandra/cqlshrc. È anche possibile utilizzare un file in una posizione diversa con l'opzione da riga di comando --cqlshrc.

+0

Sei sicuro che? cqlshrc '? datastax si riferisce ad esso come 'cqlshrc' qui https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlshUsingCqlshrc.html?hl=cqlshrc – simo

+0

@simo grazie per averlo indicato; la posizione è cambiata da qualche parte lungo la strada, quindi ho modificato la mia risposta per essere più chiara. – BrianC

+0

siete i benvenuti :) – simo