| PostgreSQL Reference Manual - Volume 1 - SQL Language Reference by The PostgreSQL Global Development Group Paperback (6"x9"), 716 pages ISBN 0954612027 RRP £32.00 ($49.95) Sales of this book support the PostgreSQL project! Get a printed copy>>> |
2.1.2.5 Constants of Other Types
A constant of an arbitrary type can be entered using any one of the following notations:
type 'string' 'string'::type CAST ( 'string' AS type )
The string constant's text is passed to the input conversion routine for the type called type. The result is a constant of the indicated type. The explicit type cast may be omitted if there is no ambiguity as to the type the constant must be (for example, when it is assigned directly to a table column), in which case it is automatically coerced.
The string constant can be written using either regular SQL notation or dollar-quoting.
It is also possible to specify a type coercion using a function-like syntax:
typename ( 'string' )
but not all type names may be used in this way; see section 2.2.8 Type Casts for details.
The ::, CAST(), and
function-call syntaxes can also be used to specify run-time type
conversions of arbitrary expressions, as discussed in section 2.2.8 Type Casts. But the form
type 'string'
can only be used to specify the type of a literal constant.
Another restriction on
type 'string'
is that it does not work for array types; use ::
or CAST() to specify the type of an array constant.
The CAST() syntax conforms to SQL. The
type 'string'
syntax is a generalization of the standard: SQL specifies this syntax only
for a few data types, but PostgreSQL allows it
for all types. The syntax with
:: is historical PostgreSQL
usage, as is the function-call syntax.
| ISBN 0954612027 | PostgreSQL Reference Manual - Volume 1 - SQL Language Reference | See the print edition |