Index: doc/src/sgml/typeconv.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/typeconv.sgml,v
retrieving revision 1.27
diff -c -c -r1.27 typeconv.sgml
*** doc/src/sgml/typeconv.sgml 13 Mar 2003 01:30:29 -0000 1.27
--- doc/src/sgml/typeconv.sgml 19 Mar 2003 21:17:32 -0000
***************
*** 403,459 ****
-
- Absolute-Value and Factorial Operator Type Resolution
-
-
- The PostgreSQL operator catalog has several
- entries for the prefix operator @>, all of which implement
- absolute-value operations for various numeric data types. One of these
- entries is for type float8, which is the preferred type in
- the numeric category. Therefore, PostgreSQL
- will use that entry when faced with a non-numeric input:
-
- SELECT @ '-4.5' AS "abs";
- abs
- -----
- 4.5
- (1 row)
-
- Here the system has performed an implicit conversion from text to float8
- before applying the chosen operator. We can verify that float8 and
- not some other type was used:
-
- SELECT @ '-4.5e500' AS "abs";
-
- ERROR: Input '-4.5e500' is out of range for float8
-
-
-
-
- On the other hand, the postfix operator !> (factorial)
- is defined only for integer data types, not for float8. So, if we
- try a similar case with !>, we get:
-
- SELECT '20' ! AS "factorial";
-
- ERROR: Unable to identify a postfix operator '!' for type 'text'
- You may need to add parentheses or an explicit cast
-
- This happens because the system can't decide which of the several
- possible !> operators should be preferred. We can help
- it out with an explicit cast:
-
- SELECT CAST('20' AS int8) ! AS "factorial";
-
- factorial
- ---------------------
- 2432902008176640000
- (1 row)
-
-
-
-
--- 403,408 ----