The Standardize function uses these rules for each of the following data types:
Strings
- Strips all characters from the value except for alphanumeric characters and the special numeric punctuation characters '+', '-', and '.'. This allows numbers to be compared with strings.
- All alphanumeric characters are standardized in uppercase. For example, "480 Briggs Road" turns into "480BRIGGSROAD".
Integers
- Strips any leading and trailing spaces and tabs.
- Strips leading zeros (0).
- Eliminates "thousands" separators.
- Standardizes the field to zero (0) if an inappropriate character, alphabetic character, or punctuation is found.
- If the number includes a decimal point, possibly with a mantissa (fractional decimal part)*, then if the mantissa is zero (0), the decimal part is truncated. If the mantissa is non-zero, the standardization process returns a zero (0). For example, "100.0" is standardized to "100", but "100.1" is standardized to zero (0).
- If the number of digits in the field is greater than eighteen (18), the number is standardized to the local machine's MAX_INTEGER setting. This means that numbers of more than 18 digits in length compare as equals.
- After standardization, there should be a string of digits with an optional '+' or '-' sign at the front.
Decimals
- Strips any leading and trailing spaces and tabs.
- Strips leading and trailing zeros (0) after a decimal point. This means that "0.1" is standardized to ".1".
- Eliminates "thousands" separators.
- Numbers with no mantissa (fractional decimal part)* are standardized by appending a ".0". For example, "1234" is standardized as "1234.0".
- A number with a trailing point has a zero (0) appended. For example, "100" becomes "100.0".
- If the number of digits in a field is greater than eighteen (18), the number is standardized to the local machine's MAX_DOUBLE setting. This means that numbers of more than 18 digits in length compare as equals.
- After standardization, there should be a string of digits with an optional '+' or '-' sign at the front and a single decimal point embedded within the digits. The decimal point can lead at the front but never trails at the end.
* A mantissa is the fractional decimal point of a number. For example, if the number is 1.345, the mantissa is .345.
Note: Numeric types Integer and Decimal are locale-aware for decimal point
and "thousands" separator.