## 10.1. Overview

SQL is a strongly typed language. That is, every data item
has an associated data type which determines its behavior and allowed usage.PostgreSQL has an extensible type system that is
more general and flexible than other SQL implementations.
Hence, most type conversion behavior in PostgreSQLis governed by general rules rather than by ad hoc
heuristics. This allows the use of mixed-type expressions even with
user-defined types.

The PostgreSQL scanner/parser divides lexical
elements into five fundamental categories: integers, non-integer numbers,
strings, identifiers, and key words. Constants of most non-numeric types are
first classified as strings. The SQL language definition
allows specifying type names with strings, and this mechanism can be used inPostgreSQL to start the parser down the correct
path. For example, the query:

```
SELECT text 'Origin' AS "label", point '(0,0)' AS "value";

 label  | value
