Este tópico lista os CASTs implícitos, disponíveis para operações aritméticas.
Normalmente, os operadores aritméticos (+, -, * e /) operam em operandos do mesmo tipo de dados e retornam um valor do mesmo tipo de dados que os operandos. Os casos em que os operandos podem ter tipos de dados diferentes, ou em que o tipo de dados do valor resultante é diferente do tipo dos operandos, são mostrados na tabela a seguir.
Tipo de dados do operando esquerdo | Tipo de dados do operando direito | Operadores suportados | Tipo de dados de resultado |
---|---|---|---|
INTEGER | FLOAT | +, -, *, / | FLOAT1 |
INTEGER | DECIMAL | +, -, *, / | DECIMAL1 |
INTEGER | INTERVAL | * | INTERVAL4 |
FLOAT | INTEGER | +, -, *, / | FLOAT1 |
FLOAT | DECIMAL | +, -, *, / | FLOAT1 |
FLOAT | INTERVAL | * | INTERVAL4 |
DECIMAL | INTEGER | +, -, *, / | DECIMAL1 |
DECIMAL | FLOAT | +, -, *, / | FLOAT1 |
DECIMAL | INTERVAL | * | INTERVAL4 |
HORA | HORA | - | INTERVAL2 |
HORA | GMTTIME | - | INTERVAL2 |
HORA | INTERVAL | +, - | TIME3 |
GMTTIME | HORA | - | INTERVAL2 |
GMTTIME | GMTTIME | - | INTERVAL2 |
GMTTIME | INTERVAL | +, - | GMTTIME3 |
DATE | DATE | - | INTERVAL2 |
DATE | INTERVAL | +, - | DATE3 |
TIMESTAMP | TIMESTAMP | - | INTERVAL2 |
TIMESTAMP | GMTTIMESTAMP | - | INTERVAL2 |
TIMESTAMP | INTERVAL | +, - | TIMESTAMP3 |
GMTTIMESTAMP | TIMESTAMP | - | INTERVAL2 |
GMTTIMESTAMP | GMTTIMESTAMP | - | INTERVAL2 |
GMTTIMESTAMP | INTERVAL | +, - | GMTTIMESTAMP3 |
INTERVAL | INTEGER | *, / | INTERVAL4 |
INTERVAL | FLOAT | *, / | INTERVAL4 |
INTERVAL | DECIMAL | *, / | INTERVAL4 |
INTERVAL | HORA | + | TIME3 |
INTERVAL | GMTTIME | + | GMTTIME3 |
INTERVAL | DATE | + | DATE3 |
INTERVAL | TIMESTAMP | + | TIMESTAMP3 |
INTERVAL | GMTTIMESTAMP | + | GMTTIMESTAMP3 |
Notes:
|