Couchbase 将纪元转换为 ISO

Couchbase convert epoch to ISO

我正在努力使用 Couchbase N1QL 将 Epoch 转换为 ISO 日期时间。 Couchbase 以毫秒为单位存储 etoch 时间,我需要完整的 ISO8 格式 YYY-MM-DDThh:mm:ss.S。我试过:

SELECT  DATE_PART_MILLIS(1463284740000, 'year'), DATE_PART_MILLIS(1463284740000, 'month'), DATE_PART_MILLIS(1463284740000, 'day')

但它显然是returnsjson之类的反应。我尝试像 SELECT DATE_PART_MILLIS(1463284740000, 'year') || DATE_PART_MILLIS(1463284740000, 'month') || DATE_PART_MILLIS(1463284740000, 'day')

这样的连接

但它没有返回任何内容

[
  {
    "": null
  }
]

有什么建议吗?

在 Couchbase 中,您可以将时间存储为数字(以毫秒为单位) 或 ISO-8601 格式的字符串。它提供了许多可以处理的日期函数 ISO-8601 格式描述于 https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/datefun.html

SELECT MILLIS_TO_STR(1463284740000);

DATE_PART_MILLIS(date1, part [ tz]) 从 Epoch/UNIX 时间戳值中提取给定日期组件的值。 Return Value -- 一个整数,表示从时间戳中提取的组件的值。 字符串连接需要字符串,在函数周围添加 TOSTRING like

SELECT  TOSTRING(DATE_PART_MILLIS(1463284740000, 'year')) || "-" ||
        TOSTRING(DATE_PART_MILLIS(1463284740000, 'month')) || "-" || 
        TO_STRING(DATE_PART_MILLIS(1463284740000, 'day'));