# 10.1.概述

SQL是一种强类型语言。也就是说,每个数据项都有一个关联的数据类型,它决定了它的行为和允许的使用。PostgreSQL有一个可扩展的类型系统,它比其他SQL实现更通用、更灵活。因此,PostgreSql中的大多数类型转换行为都是由一般规则控制的,而不是由特殊的试探法控制的。这允许使用混合类型表达式,即使是用户定义的类型。

PostgreSQL扫描/解析器将词汇元素分为五个基本类别:整数、非整数、字符串、标识符和关键字。大多数非数字类型的常量首先被归类为字符串。SQL语言定义允许使用字符串指定类型名称,并且这种机制可以在PostgreSQL中使用,以沿着正确的路径启动解析器。例如,查询:

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

 label  | value