Incomplete or misleading explanation of the data types for mathematical operators
| От | PG Doc comments form |
|---|---|
| Тема | Incomplete or misleading explanation of the data types for mathematical operators |
| Дата | |
| Msg-id | 158032651854.19851.16261832706661813796@wrigleys.postgresql.org обсуждение исходный текст |
| Ответы |
Re: Incomplete or misleading explanation of the data types formathematical operators
|
| Список | pgsql-docs |
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/12/functions-math.html Description: "The bitwise operators work only on integral data types, whereas the others are available for all numeric data types. " Many math operators silently convert integral data types to double for calculations, so the result will not be the same data type as what was provided. select pg_typeof(10^2::bigint),pg_typeof(10^2::numeric) select pg_typeof(|/25::int), pg_typeof(|/25::numeric) select pg_typeof(10*10::bigint), pg_typeof(10*10::numeric) Multiplication preserves data type, exponentiation silently converts bigint to double, but preserves numeric data type, square root silently converts both int and numeric types to double. The best would be to explain this behaivior of operators like it was done for mathematical functions.
В списке pgsql-docs по дате отправления: