Помогите с датой и базой данных
-
Есть 3 записи в базе данных, у каждой своя дата.
Воспользовался актионом "получить записи", фильтр по дате и времени. Взял значение из таблицы, однако BAS игнорировал фильтр и спарсил все 3 записи.
-
@fastspace Скорей всего проблема в формате в которым вы указываете дату в фильтре
-
@denis_krsk Значение взял из таблицы базы данных. Формат один и тот же должен быть.
-
@fastspace Сюдя по скрину они разные
-
@denis_krsk Перевел весь формат в милисекунды, как в переменной стало всё четко. Однако в минутах и часах, как в самой таблице не работает.
-
@fastspace Так и есть, я всегда в млс передаю.
-
@FastSpace Возможно разница была в строке и объекте. Дата в базе больше похожа на строку в формате, а в переменной возможно был объект.
Перевел весь формат в милисекунды, как в переменной стало всё четко
Да, надёжнее когда всё в одном формате
:D
-
@fox Возможно все дело в том, что объект дата имеет как строковое представление так и числовое. В базе для отображения используется его строковое значение, а при манипуляциях его числовое.
-
@denis_krsk Так и есть. В базе одно отображение, в переменной другое. Я сначала стал фильтровать по значению строки из базы (часы - минуты). Затем отфильтровал по значению из переменной (милисекунды) стало четко.
Очень смахивает на баг.
-
@fastspace Не баг. У объекта дата, есть два метода, valueOf() численное значение и toString() строковое. При отображение объекта, если есть метод toString то используется он. Думаю ноги отсюда растут.
-
@denis_krsk У объекта в базе данных значение как date - это не строка и не число. Я пытался отфильтровать через строку - игнор. Затем отфильтровал как expression (код JS) c часами и минутами. Значение взял ровно из базы (карандашик). BAS пропустил. Затем отфильтровал как expression с миллисекундами - всё чётко.
-
@fastspace Все верно не строка и не число, а объект )
-
@denis_krsk Всё я понял :D. Дело в отображении объекта.
На самом деле это не хорошо, что в базе данных он как объект строка, а в переменной как объект число. Фильтр работает только как объект число. И да - я считаю это багом.