Как получить данные за последние n дней в DolphinDB - PullRequest
1 голос
/ 20 июня 2019

Я создаю таблицу, как показано ниже,

timestamp=[2019.06.01T09:00:00.000 ,2019.06.02T09:00:00.000,2019.06.20T09:00:00.000]
sym = `MS`MS`MS$symbol;                 
price= 49.6 29.46 29.52 ;           
qty = 2200 1900 2100 ;              
t1 = table(timestamp, sym, qty, price)

Затем я выполняю следующий код в DolphinDB Gui, выбираю * из t1. Набор записей отображается , как это .Но я выполняю следующий код:

days=1000*60*60*24
select * from t1 where timestamp > now()-days*30

Набор записей равен нулю, как показано следующим образом .

Как выбрать данные за последние n дней из таблицы dolphindb

1 Ответ

0 голосов
/ 27 июня 2019

Ваш код имеет незначительную проблему переполнения данных.days является целым числом (4 байта), а результат дней * 30 превышает максимальное значение целого числа.Два способа исправить:

Метод 1: преобразовать константу 30 в 30l

days=1000*60*60*24
select * from t1 where timestamp > now()-days*30l

Метод 2: использовать temporalAdd function

select * from t1 where timestamp > temporalAdd(now(), -30, 'd')
...