PostgreSQL 表达式


表达式是一个或多个值、运算符和计算结果的 PostgresSQL 函数的组合。

PostgreSQL EXPRESSIONS 就像公式一样,它们是用查询语言编写的。你还可以使用查询数据库中的特定数据集。

语法

考虑 SELECT 语句的基本语法如下:

SELECT column1, column2, columnN
FROM table_name
WHERE [CONDITION | EXPRESSION];

PostgreSQL 的表达式有很多种,下面会提到:

PostgreSQL - 布尔表达式


PostgreSQL 布尔表达式根据匹配的单个值获取数据。以下是语法:

SELECT column1, column2, columnN
FROM table_name
WHERE SINGLE VALUE MATCHTING EXPRESSION;

考虑表 COMPANY 有记录如下:

testdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

下面是一个简单的例子,展示了 PostgreSQL 布尔表达式的用法:

testdb=# SELECT * FROM COMPANY WHERE SALARY = 10000;

上面给出的 PostgreSQL 语句将产生以下结果:

 id | name  | age | address  | salary
----+-------+-----+----------+--------
  7 | James |  24 | Houston  |  10000
(1 row)

PostgreSQL - 数值表达式


这些表达式用于在任何查询中执行任何数学运算。以下是语法:

SELECT numerical_expression as  OPERATION_NAME
[FROM table_name WHERE CONDITION] ;

这里 numeric_expression 用于数学表达式或任何公式。下面是一个简单的例子,展示了 SQL 数值表达式的用法:

testdb=# SELECT (15 + 6) AS ADDITION ;

上面给出的 PostgreSQL 语句将产生以下结果:

 addition
----------
       21
(1 row)

有几个内置函数,如 avg()、sum()、count(),可以对表或特定表列执行所谓的聚合数据计算。

testdb=# SELECT COUNT(*) AS "RECORDS" FROM COMPANY;

上面给出的 PostgreSQL 语句将产生以下结果:

 RECORDS
---------
       7
(1 row)

PostgreSQL - 日期表达式


Date Expressions return the current system date and time values and these expressions are used in various data manipulations.

testdb=#  SELECT CURRENT_TIMESTAMP;

上面给出的 PostgreSQL 语句将产生以下结果:

              now
-------------------------------
 2013-05-06 14:38:28.078+05:30
(1 row)