2017-04-30 105 views
0

我有一個如下所示的列表,並且希望刪除過去的日期或小於今天的日期。我需要一個if語句還是有一些類似的方式來做到這一點?kdb +:根據條件從列表中刪除元素

q)d 
1970.03.16 1980.03.17 1990.03.19 2000.03.13 2010.03.15 
q)type d 
14h 

回答

3

可以跳過功能一起,這樣做內聯。

在列表中查找索引,其中日期比今天(d>.z.D)時,則使用該列表從您的列表中提取的項目,如果你知道一個更好的辦法(d where d>.z.D

q)d:1970.03.16 1980.03.17 1990.03.19 2020.03.13 2017.09.15 
q)d>.z.D 
00011b 
q)d where d>.z.D 
2020.03.13 2017.09.15 
+0

不錯,謝謝 –

1

我相信我得到了它:

q)today:`date$.z.z 
q)func:{[lst] lst where today<lst} 
q)d 
1970.03.16 1980.03.17 1990.03.19 2020.03.13 2017.09.15 
q)func d 
2020.03.13 2017.09.15 
+0

請評論。 –