目录
PostgreSQL为内置数据类型提供了大量函数和操作符。 本章描述其中的大部分,不过手册的相关章节中还会出现更多专用函数。 用户也可以按Part V中的说明定义自己的函数和操作符。 psql命令\df和\do可分别用于列出所有可用的函数和操作符。
本章用于描述函数或操作符的参数和结果数据类型的记法如下:
repeat(text,integer) →text
这表示函数repeat接受一个 text 参数和一个 integer 参数,并返回 text 类型的结果。右箭头也用于表示示例的结果,例如:
repeat('Pg', 4) → PgPgPgPg
如果你关心可移植性,请注意,本章描述的大多数函数和操作符,除了最简单的算术和比较操作符以及少数明确标记的函数之外,都不是SQL标准规定的。不过,其中一些扩展功能也存在于其他SQL数据库管理系统中,而且在很多情况下,各实现之间的这类功能是兼容且一致的。
booleanANDboolean→booleanbooleanORboolean→booleanNOTboolean→boolean
SQL使用由真、假和null构成的三值逻辑系统,其中 NULL 表示“未知”。请看下面的真值表:
a |
b |
a AND b |
a OR b |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| TRUE | NULL | NULL | TRUE |
| FALSE | FALSE | FALSE | FALSE |
| FALSE | NULL | FALSE | NULL |
| NULL | NULL | NULL | NULL |
a |
NOT a |
|---|---|
| TRUE | FALSE |
| FALSE | TRUE |
| NULL | NULL |
操作符AND和OR是可交换的,也就是说,你可以交换左右操作数而不影响结果。 (但是,不能保证左操作数在右操作数之前计算。参见Section 4.2.14获取有关子表达式计算顺序的更多信息。)