Input data types

If you specify a single field for evaluation, that field can be of any data type. Note that InfoSphere® DataStage®'s treatment of strings differs slightly from that of standard SQL.

If you compare fields they must be of the same or compatible data types. Otherwise, the operation terminates with an error. Compatible data types are those that InfoSphere DataStage converts by default. Regardless of any conversions the whole record is transferred unchanged to the output. If the fields are not compatible upstream of the filter, you can convert the types by using the modify operator prior to using the filter.

Field data type conversion is based on the following rules:

  • Any integer, signed or unsigned, when compared to a floating-point type, is converted to floating-point.
  • Comparisons within a general type convert the smaller to the larger size (sfloat to dfloat, uint8 to uint16, and so on)
  • When signed and unsigned integers are compared, unsigned are converted to signed.
  • Decimal, raw, string, time, date, and timestamp do not figure in type conversions. When any of these is compared to another type, filter returns an error and terminates.
    Note: The conversion of numeric data types might result in a loss of range and cause incorrect results. InfoSphere DataStage displays a warning messages to that effect when range is lost.

The input field can contain nulls. If it does, null values are less than all non-null values, unless you specify the operators's nulls last option.