将一个元素的变量或常量与另一个元素的比较时,请确保您用来比较元素的值是一致的(例如,字符与字符比较)。如果值不一致,则如果代理无法通过隐式数据类型转换以解决不一致的话,它生成运行时错误。有关支持的隐式类型强制转换的详细信息,请参阅隐式类型强制转换。
您可以使用 CAST 函数转换值的数据类型以匹配其他值的数据类型。例如,当您处理常规 XML 消息时,您可以使用 CAST 函数。XML 消息中的所有字段都具有字符值,因此,举个例子来说,如果您要执行算术计算或日期时间比较,则必须使用 CAST 将该字段的字符串值转换为相应类型的值。
在 Invoice 消息中,字段 InvoiceDate 包含发票的日期。如果要引用或使用此字段,必须先将它 CAST 为正确的格式。例如要在测试中引用此字段:
IF CAST(Body.Invoice.InvoiceDate AS DATE) = CURRENT_DATE THEN
这将 InvoiceDate 字段的字符串值转换为日期值,并与当前日期比较。
另一个示例是,从整数到字符的数据类型转换:
DECLARE I INTEGER 1; DECLARE C CHARACTER; -- The following statement generates an error SET C = I; -- The following statement is valid SET C = CAST(I AS CHARACTER);