POSITION operates on the following types of arguments:
- Character, except for CLOB
- Byte, except for BLOB
If one string expression is of type BYTE, then both expressions must be of type BYTE.
- Numeric
Numeric string expressions are converted implicitly to CHARACTER type.
- UDTs that have implicit casts that cast between the UDT and any of the following predefined types:
- Numeric
- Character
- DATE
- Byte
To define an implicit cast for a UDT, use the CREATE CAST statement and specify the AS ASSIGNMENT clause. For more information on CREATE CAST, see Teradata Vantage™ - SQL Data Definition Language Syntax and Examples, B035-1144.
Implicit type conversion of UDTs for system operators and functions, including POSITION, is a Teradata extension to the ANSI SQL standard. To disable this extension, set the DisableUDTImplCastForSysFuncOp field of the DBS Control Record to TRUE. For details, see Teradata Vantage™ - Database Utilities, B035-1102.