select 查询中的 Cockroachdb 格式日期时间

Cockroachdb format datetime in select query

我试图在 cockroach DB select 查询中将时间戳值格式化为 yyyymmdd

在MySQL中,我们可以使用DATE_FORMAT()

格式化日期

例如SELECT DATE_FORMAT(created_at, "%Y-%m-%d") FROM users 将结果提取为所需格式。

我们可以在 cockroach DB 中使用什么 DATE_FORMAT() 的替代品?

您可以使用实验性内置 experimental_strftime which uses the strftime 语法。

SELECT experimental_strftime(created_at, '%Y-%m-%d') FROM users

或者,您可以使用 experimental_strptime,它使用 strptime 语法。

请花时间阅读有关 experimental features 的重要说明。时间格式化内置函数是实验性的,因为它们在不同平台上的行为不同。

我正在使用 golang、gorm 和 cockroachdb。我尝试了 experimental_strftime。但它创建了无效查询。

query := `SELECT experimental_strftime(created_at, '%Y-%m-%d') FROM users`
var version []string
rows, err := store.DB.Raw(query).Rows()
if err != nil {
    return version, err
}
defer rows.Close()
for rows.Next() {
    err := rows.Scan(&version)
    return version, err
}

在调试模式下生成的查询是 SELECT experimental_strftime(created_at, '%!Y(MISSING)-%!m(MISSING)-%!d(MISSING)') FROM users