我想列出日期无效的字段。目前我只提出以下条件来检查日期有效性。
If
IsValid('%dd-%mm-%yyyy',ln_source_1.A_Date) or
IsValid('%dd-%mm-%yyyy',ln_source_1.B_Date) or
IsValid('%dd-%mm-%yyyy',ln_source_1.C_Date)
then 1 else 0
日期表
ID | A_Date | B_DATE | C_Date
001 | 16-10-2017 | 16-31-2017 | 16-10-017
002 | 61-10-2017 | 2017年1月1日| 16-10-2017
基于上面的例子,B_Date和C_Date无效。那么,是否可以列出如下的无效日期和方式?
状态| INVALID_DATE |
001 | B_DATE,C_Date |
002 | A_Date |
注意:我有许多日期字段来检查其有效性,其中一些可以为空
由于
答案 0 :(得分:0)
首先,需要像这样调用IsValid函数:
IsValid("date", ln_source_1.A_Date, "%dd-%mm-%yyyy")
您的结果示例不清楚,因为您的第二列显示日期,但您列出的是列名称。 连接可能是一个选项,取决于多少“许多日期f”。
你可以选择Stagevariable
svInvalid =>将其设为“”
svValid =>将其设为“”
并且像这样进行检查(假设所有输入和外场都是Varchar数据类型)
IF IsValid("date", ln_source_1.A_Date, "%dd-%mm-%yyyy")
THEN svValid : "A_DATE, "
ELSE svInvalid : "A_DATE, "
在输出列中,将svValid分配给新的VALID列,将svInavalid分配给新的INVALID列。