Вычитать даты в couchbase? - PullRequest
       7

Вычитать даты в couchbase?

0 голосов
/ 23 ноября 2018

У меня есть ведро на диване, в котором хранятся две даты utc в следующем формате:

10-16-2018T18: 05: 45.823 + 0000Z

Итак, документ выглядит так:

{
"date1:"10-16-2018T18:05:45.823+0000",
"date2: "10-17-2018T18:05:45.827+0000"
}

Я хочу создать запрос, который позволит мне получить разницу во времени между двумя датами в каждом документе.Я пытался сделать что-то вроде этого:

select date_diff_str('10-16-2018T18:05:45.823+0000','22-11-2018T19:50:45.823+0000','day') as difference;

, но это не работает.Благодарен за любую помощь!

1 Ответ

0 голосов
/ 23 ноября 2018

В JSON нет типа данных временной метки.временная метка сохраняется в формате ISO-8601 ГГГГ-ММ-ДДЧч: мм: сс.сTZD, который может быть сопоставим по строкам.Все функции даты N1QL работают в формате ISO-8601

https://docs.couchbase.com/server/6.0/n1ql/n1ql-language-reference/datefun.html

 SELECT DATE_DIFF_STR(
                      SUBSTR(date2,6,4)||"-"|| SUBSTR(date2,0,5)||SUBSTR(date2,10),
                      SUBSTR(date1,6,4)||"-"|| SUBSTR(date1,0,5)||SUBSTR(date1,10),"day")
    LET date1 = "10-16-2018T18:05:45.823+00:00", date2="11-17-2018T18:05:45.827+00:00";
...