如果未在startDateFrom
和startDateTo
变量中指定,我需要使用if语句设置selectedStartDateFrom
和selectedStartDateTo
中的日期。
然后我想使用startDateFrom
和startDateTo
来过滤Experiment_Instance_Start_Date
和startDateFrom
之间startDateTo
的条目。
日期比较工作正常,只有当我添加if语句时它才会停止工作。我在这里做错了什么想法?
| eval compare=strptime(Experiment_Instance_Start_Date,"%m/%d/%Y")
| where compare>=strptime(startDateFrom,"%m/%d/%Y")
| eval compare=strptime(startDateTo,"%m/%d/%Y")
| where compare>=strptime(Experiment_Instance_Start_Date,"%m/%d/%Y")
| eval startDateFrom=if("$selectedStartDateFrom$"="", "01/01/1970", "$selectedStartDateFrom$")
| eval startDateTo=if("$selectedStartDateTo$"="", "01/01/2100", "$selectedStartDateTo$")
答案 0 :(得分:0)
结果"$selectedStartDateFrom$"=""
错了,所以我将其更改为len("$selectedStartDateFrom$")>0
。我还需要将if
语句移至startDateFrom
和startDateTo
的日期比较之前。同时,01/01/1970
的开始日期也不会返回任何结果,因此我将其更改为更晚的日期。
| eval startDateFrom=if(len("$selectedStartDateFrom$")>0, "$selectedStartDateFrom$", "01/01/2000")
| eval startDateTo=if(len("$selectedStartDateTo$")>0, "$selectedStartDateTo$", "01/01/2099")
| eval compare=strptime(Experiment_Instance_Start_Date,"%m/%d/%Y")
| where compare>=strptime(startDateFrom,"%m/%d/%Y")
| eval compare=strptime(startDateTo,"%m/%d/%Y")
| where compare>=strptime(Experiment_Instance_Start_Date,"%m/%d/%Y")