Different data types define equality and inequality differently. The following table explains the foundations for how the various data types are compared:
|This data type …||Is evaluated in this way …|
|Numeric||Algebraically, with negatives considered to be smaller irrespective of their absolute value.|
|Byte||Bit-by-bit from left to right. A 0 bit is less than a 1 bit.
|Character||Character-by-character from left to right. Exact comparisons depend on the collation sequence assigned and whether the comparison is case specific or case blind.
The available collations are:
If every pairwise comparison is equal, then the two character strings are equal.
If any pairwise comparison is not equal, then that comparison determines the result.
For more information on character comparison, see Comparison of Character Strings of Unequal Length.
For information on how Time Zone affects Time comparison, see "Time Zone Sort Order" in Teradata Vantage™ Data Types and Literals, B035-1143.
|Interval||According to sign and magnitude.|
|Period||Assuming p1 and p2 are Period expressions or derived periods, the evaluation of a Period comparison predicate uses the following logic:
IF BEGIN(p1) = BEGIN(p2) is TRUE, return END(p1) operator END(p2)
ELSE return (BEGIN(p1) operator BEGIN(p2))
For details on BEGIN and END, see "Period Functions and Operators" in Teradata Vantage™ Data Types and Literals, B035-1143.
|UDT||According to the ordering definition of the UDT.
Teradata Database generates ordering functionality for distinct UDTs where the source types are not LOBs. To create an ordering definition for structured UDTs or distinct UDTs where the source types are LOBs, or to replace system-generated ordering functionality, use CREATE ORDERING.
For more information on CREATE ORDERING, see Teradata Vantage™ - SQL Data Definition Language Syntax and Examples, B035-1144.