go - 使用 gocql 查询解码时间戳

标签 go cassandra

如何接受Cassandra的时间戳并使用gocql转换成字符串? 查询是什么?

最佳答案

gocql 可以将其读入 time.Time , 然后可以通过调用 String() 将其转换为字符串.例如:

if err := session.Query(`CREATE TABLE events (
        event text,
        event_time timestamp,
        PRIMARY KEY (event, event_time),
    ) WITH CLUSTERING ORDER BY (event_time DESC);
    `).Exec(); err != nil {
    log.Fatal("create table events:", err)
}

tm := time.Now()
if err := session.Query(`INSERT INTO events
        (event, event_time)
        VALUES (?, ?)`,
    "click", tm).Exec(); err != nil {
    log.Fatal("insert into events: ", err)
}

var event_time time.Time

if err := session.Query(`SELECT event_time FROM events LIMIT 1`).
    Consistency(gocql.One).Scan(&event_time); err != nil {
    log.Fatal("select from events:", err)
}

// prints 2014-04-17 01:55:26.434 +0000 UTC
fmt.Printf(event_time.String())

关于go - 使用 gocql 查询解码时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22995792/

相关文章:

pointers - 为什么不能将指针附加到数组?

python cassandra 驱动程序与副本具有相同的插入性能

java - 使用适用于 Cassandra 的 Apache Spark Java 连接器(使用键列)从 Cassandra DB 中删除行

range - 在 Cassandra 中加载 range_slices 时出现问题

mongodb - Non-relational db,哪个才是正确的选择

java - 使用 Spark SQL 连接 cassandra 中的两个表 - 错误 : missing EOF

recursion - 在 Go 中拥有带递归的 len 函数

go - 全局模板数据

go - 如何在 go 中将 int64 转换为字节数组?

go - 运行go fmt./…在不同的操作系统上有不同的行为