2017-08-20 8 views
0

に変換しましたでEpochをISO datetimeに変換しようとしています。Couchbase N1QL Couchbaseはetoch時間をミリ秒で保存しています。ISO8形式の完全なYYY-MM-DDThh:mm:ss.Sが必要です。私は試しました:エポックをISO

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

しかし、明らかにjsonのような応答を返します。私は)SELECT DATE_PART_MILLIS(1463284740000, 'year') || DATE_PART_MILLIS(1463284740000, 'month') || DATE_PART_MILLIS(146328474000 0、 '日' のよう

を連結しようとしますが、それはバック

[ 
    { 
    "$1": null 
    } 
] 

任意の提案を何もレンダリングしませんか?

答えて

0

Couchbaseでは、時間を数値(ミリ秒単位) またはISO-8601形式の文字列として保存できます。 https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/datefun.html

SELECT MILLIS_TO_STR(1463284740000); 

DATE_PART_MILLIS(DATE1、部分【、TZ]) 抽出エポック/ UNIXタイムスタンプから指定された日付成分の値に記載されているように、それは ISO-8601形式で動作するように多くの日付機能を提供します値。 戻り値 - タイムスタンプから抽出されたコンポーネントの値を表す整数。 文字列結合には文字列が必要です。関数の前後にTOSTRINGを追加します。

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