0

我创建了一个如下表,

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 中执行以下代码, select * from t1 记录集是 这样显示的。但我执行以下代码,

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

记录集为空, 如下所示

如何从 dolphindb 表中选择最近 n 天的数据?

4

1 回答 1

0

您的代码有轻微的数据溢出问题。days是一个整数(4 个字节),并且 days * 30 的结果超过了整数的最大值。两种修复方法:

方法一:常数30转30l

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

方法二:使用temporalAdd函数

select * from t1 where timestamp > temporalAdd(now(), -30, 'd')
于 2019-06-27T05:05:18.910 回答