2017-02-08 2 views
0

Мы разрабатываем веб-приложение, размещенное на среде Appengine Flexible, и мы используем хранилище данных в качестве нашего бэкэнда. В нашем сценарии мы делаем несколько вставок за тот же день, и когда мы извлекаем данные за день, нам нужно вытащить все записи за этот день, которые очень прямолинейны. Один из наших разработчиков добавил дату в формате YYYYMMDD в дополнение к DateAdded, которая является Datetime.Now. Это делается для упрощения чтения. Мы делаем только вставки. Обновление для любой записи будет новой вставкой для целей аудита. Если вы хотите добавить поле избыточной даты (YYYYMMDD), вам нужно предложить, и насколько это дорого стоило бы в хранилище данных. Это поле является строкой, и я лично считаю, что все в порядке. Но хотел получить совет по этому поводу. Спасибо!Окно с отформатированным форматированием

ответ

0

Технически, вам не нужно другое свойство для хранения отформатированной даты, но это делает ваш запрос более простым. Другими словами, вы можете использовать исходное свойство DateTime, в котором вы храните временную метку создания сущности, чтобы найти все объекты для заданной даты или диапазона дат.

Используя свойство типа String с ГГГГММДДОМ требует простого запроса, как это:

SELECT * FROM MyKind WHERE MyProperty='20170209' 

С другой стороны, если вы хотите использовать оригинальное DateTime свойство, ваш запрос будет что-то вроде этого -

SELECT * FROM MyKind WHERE MyProperty >= DATETIME('2017-02-09T00:00:00.000000Z') AND MyProperty < DATETIME('2017-02-10T00:00:00.000000Z') 

Любой подход в порядке.