我有一个日期格式为文本的列,缺少的值标有-
。
我尝试创建一个表达式(SQL,而不是VBA),将该列转换为日期,将缺失值转换为0
:
此表达式按预期工作:
IIf([column]="-",0,CDate([column])
但是,如果我尝试使某些更通用,查找所有非日期输入,我会获得所有非日期的#Error
:
IIf(IsError(CDate([column])),0,CDate([column])
我在这里缺少什么?
答案 0 :(得分:2)
我会尝试使用isDate()
替代:
IIf(IsDate([column]),CDate([column],0)
请注意,由于表达式已更改,我已在iif()
中交换了true和false部分。
虽然,如果日期的唯一替代方法是您在第一个表达式中使用的短划线-
符号,我相信IsNumeric()
函数也可以使用。