我将表格创建为波纹管,
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选择* 显示记录集 like this。 但是我执行以下代码,
days=1000*60*60*24
select * from t1 where timestamp > now()-days*30
记录集为空,如下所示 like this。
如何从dolphindb表中选择最近n天的数据?
答案 0 :(得分:0)
您的代码有轻微的数据溢出问题。 days
是一个整数(4个字节),天数* 30的结果超过了整数的最大值。两种修复方法:
方法1:将常量30转换为30l
days=1000*60*60*24
select * from t1 where timestamp > now()-days*30l
方法2:使用temporalAdd
函数
select * from t1 where timestamp > temporalAdd(now(), -30, 'd')