PostgreSQL 表达式

Posted 瀚高PG实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL 表达式相关的知识,希望对你有一定的参考价值。

表达式

表达式是由一个或多个的值、运算符、函数组成的。
表达式类似一个公式,我们可以将其应用在查询语句中,用来查找数据库中指定条件的结果集。

语法

SELECT 语句的语法格式如下:

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

Highgodb 的表达式可以有不同类型,我们接下来会讲到。

布尔表达式

布尔表达式是根据一个指定条件来读取数据:

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

创建 class表,数据内容如下:

highgo=# select * from class;
 id |   name   | age |  birthday  |  address  | tuition_fee 
----+----------+-----+------------+-----------+-------------
  1 | xiaoming |  18 | 2004-01-10 | jinan     |     5000.00
  2 | xiaohong |  19 | 2003-08-20 | liaocheng |     5000.00
  3 | xiaoli   |  18 | 2004-05-08 | taian     |     6000.00
  4 | xiaozhao |  19 | 2003-09-18 | jinan     |     6000.00
  5 | xiaowang |  18 | 2004-01-18 | jinan     |     6000.00
(5 rows)

以下使用了布尔表达式(tuition_fee=5000)来查询数据:

highgo=# select * from class where tuition_fee = 5000;
 id |   name   | age |  birthday  |  address  | tuition_fee 
----+----------+-----+------------+-----------+-------------
  1 | xiaoming |  18 | 2004-01-10 | jinan     |     5000.00
  2 | xiaohong |  19 | 2003-08-20 | liaocheng |     5000.00
(2 rows)

数字表达式

数字表达式常用于查询语句中的数学运算:

SELECT numerical_expression as  OPERATION_NAME[FROM table_name WHERE CONDITION] ;

numerical_expression 是一个数学运算表达式,实例如下:

highgo=# SELECT (17 + 6) AS ADDITION ;
 addition 
----------
       23
(1 row)

此外 PostgreSQL 还内置了一些数学函数,如:
● avg() :返回一个表达式的平均值
● sum() :返回指定字段的总和
● count() :返回查询的记录总数
以下实例查询 class表的记录总数:

highgo=# select count(*) AS "RECORDS" from class ;
 RECORDS 
---------
       5
(1 row)

日期表达式

日期表达式返回当前系统的日期和时间,可用于各种数据操作,以下实例查询当前时间:

highgo=# select current_timestamp;
       current_timestamp       
-------------------------------
 2021-11-23 16:58:48.259406+08
(1 row)

以上是关于PostgreSQL 表达式的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL volatile 表达式和子查询

如何在php脚本中接受PostgreSQL数据库数量?

如何理解这段代码片段中的两对括号?

通过 Java 正则表达式提取 semver 版本字符串的片段

4.3 合并重复的条件执行片段

Postgresql函数返回记录数