Was this page helpful?
Time
is represented as chrono::Duration
Internally Time
is represented as number of nanoseconds since midnight.
It can’t be negative or exceed 86399999999999
(24 hours).
When sending in a query it needs to be wrapped in value::Time
to differentiate from Timestamp
use scylla::IntoTypedRows;
use scylla::frame::value::Time;
use chrono::Duration;
// Insert some time into the table
let to_insert: Duration = Duration::seconds(64);
session
.query("INSERT INTO keyspace.table (a) VALUES(?)", (Time(to_insert),))
.await?;
// Read time from the table, no need for a wrapper here
if let Some(rows) = session.query("SELECT a FROM keyspace.table", &[]).await?.rows {
for row in rows.into_typed::<(Duration,)>() {
let (time_value,): (Duration,) = row?;
}
}
Was this page helpful?