DataStage-To 列出具有无效日期的字段
DataStage-To list Fields that have Invalid Date
我想列出具有无效日期的字段。目前我只提出了以下条件来检查日期有效性。
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
日期TABLE
ID|A_Date|B_Date|C_Date
001|16-10-2017|16-31-2017|16-10-017
002|61-10-2017|01-01-2017|16-10-2017
根据以上示例,B_Date 和 C_Date 无效。那么,是否可以像下面这样列出无效日期以及如何列出?
状态|Invalid_Date|
001|B_Date,C_Date|
002|A_Date|
注意:我有很多日期字段来检查它的有效性,其中一些可以为空
谢谢
首先需要像这样调用 IsValid 函数:
IsValid("date", ln_source_1.A_Date, "%dd-%mm-%yyyy")
您的结果示例不清楚,因为您的第二列显示的是日期,但您列出的是列名。
连接可能是一个选项,具体取决于 "many date fiels" 的数量。
你可以选择 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 列。
我想列出具有无效日期的字段。目前我只提出了以下条件来检查日期有效性。
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
日期TABLE
ID|A_Date|B_Date|C_Date
001|16-10-2017|16-31-2017|16-10-017
002|61-10-2017|01-01-2017|16-10-2017
根据以上示例,B_Date 和 C_Date 无效。那么,是否可以像下面这样列出无效日期以及如何列出?
状态|Invalid_Date|
001|B_Date,C_Date|
002|A_Date|
注意:我有很多日期字段来检查它的有效性,其中一些可以为空
谢谢
首先需要像这样调用 IsValid 函数:
IsValid("date", ln_source_1.A_Date, "%dd-%mm-%yyyy")
您的结果示例不清楚,因为您的第二列显示的是日期,但您列出的是列名。 连接可能是一个选项,具体取决于 "many date fiels" 的数量。
你可以选择 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 列。