Я пытаюсь написать пакетный скрипт OrientDB для
- извлечение DateTime из определенной записи (T1)
- увеличить DateTime на определенную величину (T2)
поиск записей, имеющих DateTime между T1 и T2
НАЧАТЬ
LET T1 = ВЫБРАТЬ время как значение ОТ MyClass WHERE id = someID
LET T2 = SELECT sum (first ($ T1.value) .asLong (), someTime) .asDateTime () в качестве значения
ВЫБРАТЬ * ИЗ MyClass ГДЕ время> $ T1 И время <$ T2 <br>
COMMIT
Это прекрасно работает, если я не использую $ T1 и $ T2 (или $ T1.value, $ T2.value) в предложении WHERE, но строки вроде "2018-01-01 00:00:00 ». Чтобы лучше понять разницу между «2018-01-01 00:00:00» и $ T1 / $ T2 (или $ T1.value / $ T2.value), я добавил RETURN $ T1 / $ T2 (или $ T1. value / $ T2.value) в конце и получил ту же самую строку через студию.
Так почему я могу использовать рукописную строку в предложении WHERE, но не значение какой-либо пользовательской переменной?
Как мне переписать сценарий, чтобы он работал как положено?