【问题标题】:Cockroachdb format datetime in select query选择查询中的 Cockroachdb 格式日期时间
【发布时间】:2020-11-17 13:10:15
【问题描述】:

我正在尝试在 cockroach DB 选择查询中将时间戳值格式化为 yyyymmdd

在 MySQL 中,我们可以使用 DATE_FORMAT() 格式化日期

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

我们可以在蟑螂数据库中使用DATE_FORMAT() 的替代品吗?

【问题讨论】:

    标签: cockroachdb sql-timestamp


    【解决方案1】:

    您可以使用实验性内置 experimental_strftime,它使用 strftime 语法。

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

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

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

    【讨论】:

      【解决方案2】:

      我正在使用 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

      【讨论】:

        猜你喜欢
        • 2012-03-06
        • 1970-01-01
        • 2014-11-30
        • 2020-05-22
        • 2018-09-09
        • 1970-01-01
        • 1970-01-01
        • 2013-06-19
        • 1970-01-01
        相关资源
        最近更新 更多