2016-12-08 2 views

ответ

3

Здесь есть несколько вариантов. Самый простой способ работает, если вы можете терпеть ISO 8601 отформатированных времени и использует функцию DATE_TRUNC_STR(expression, part) Дата:

SELECT DATE_TRUNC_STR(date_time, "day") AS new_date FROM bucket 

Результат такого запроса (с использованием 2015-10-29T16:15:11.000Z в date_time) является:

{ 
    "results": [ 
    { 
     "new_date": "2015-10-29T00:00:00Z" 
    } 
    ] 
} 

В качестве альтернативы вы можете разобрать отдельные части с помощью функции DATE_PART_STR(expression, part) с помощью функции TOSTRING(expression) с конкатенацией строк (||):

SELECT TOSTRING(DATE_PART_STR(date_time, "year")) || "-" || TOSTRING(DATE_PART_STR(date_time, "month")) || "-" || TOSTRING(DATE_PART_STR(date_time, "day")) AS new_date FROM bucket 

Результат:

{ 
    "results": [ 
    { 
     "new_date": "2015-10-29" 
    } 
    ] 
} 

Ссылка: http://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/datefun.html

+0

представляет собой метод фигню. Это будет просто, как PHP. Я прошу формат даты передачи Y-m-d. –

+0

Вы конкретно спросили, как конвертировать дату в N1QL, отсюда и мой ответ. Если вы попробовали что-то, что не работает, можете ли вы добавить эту информацию к своему вопросу? –

+0

это работа. спасибо .. –

Смежные вопросы