当前位置: fuhua-pet->PostgreSQL > PostgreSQL手册-》sql语法-》值表达式-》列引用-》位置参数

PostgreSQL手册-》sql语法-》值表达式-》列引用-》位置参数

2023-08-21作者:fuhua-pet来源:www.fuhua-pet.com

PostgreSQL教程-sql语法-值表达式

值表达式被用于各种各样的环境中,例如在SELECT命令的目标列表中、作为INSERT或UPDATE中的新列值或者若干命令中的搜索条件。为了区别于一个表表达式(是一个表)的结果,一个值表达式的结果有时候被称为一个标量。值表达式因此也被称为标量表达式(或者甚至简称为表达式)。表达式语法允许使用算数、逻辑、集合和其他操作从原始部分计算值。

一个值表达式是下列之一:

一个常量或文字值

一个列引用

在一个函数定义体或预备语句中的一个位置参数引用

一个下标表达式

一个域选择表达式

一个操作符调用

一个函数调用

一个聚合表达式

一个窗口函数调用

一个类型转换

一个排序规则表达式

一个标量子查询

一个数组构造器

一个行构造器

另一个在圆括号(用来分组子表达式以及重载优先级)中的值表达式

在这个列表之外,还有一些结构可以被分类为一个表达式,但是它们不遵循任何一般语法规则。这些通常具有一个函数或操作符的语义并且在第 9 章中的合适位置解释。一个例子是IS NULL子句。

我们已经在第 4.1.2 节中讨论过常量。下面的小节会讨论剩下的选项。

4.2.1. 列引用

一个列可以以下面的形式被引用:

correlation.columnname

correlation是一个表(有可能以一个模式名限定)的名字,或者是在FROM子句中为一个表定义的别名。如果列名在当前索引所使用的表中都是唯一的,关联名称和分隔用的句点可以被忽略(另见第 7 章)。

4.2.2. 位置参数

一个位置参数引用被用来指示一个由 SQL 语句外部提供的值。参数被用于 SQL 函数定义和预备查询中。某些客户端库还支持独立于 SQL 命令字符串来指定数据值,在这种情况中参数被用来引用那些线外数据值。一个参数引用的形式是:

$number

例如,考虑一个函数dept的定义:

CREATE FUNCTION dept(text) RETURNS dept

AS $$ SELECT * FROM dept WHERE name = $1 $$

LANGUAGE SQL;

这里$1引用函数被调用时第一个函数参数的值。

  • Oracle OCP认证没落了吗
  • PostgreSQL技术大讲堂 - 第87讲:重讲系统安全和数据库安全
  • PostgreSQL认证培训推荐机构
  • 奥星贝斯OceanBase数据库
  • 达梦数据库管理系统DM8
  • 电科金仓KingbaseES数据库管理系统
  • 华为GaussDB云数据库
  • 金篆信科GoldenDB数据库
  • 浪潮KaiwuDB数据库
  • 考OCP认证要交哪些费用
  • 南大通用GBASE数据库
  • 腾讯云分布式数据库TDSQL
  • 羲和 (Halo) 数据库
  • 崖山 (YashanDB) 数据库
  • 亚信安慧AntDB数据库
  • 4月26日,工信部人才交流中心 & CUUG - PGCP+PGCM认证考试完成!
  • Apache IoTDB
  • DolphinDB数据库
  • Easysearch分布式搜索型数据库
  • IvorySQL数据库
  • NebulaGraph数据库
  • OCP认证考试指南:费用、大纲、备考、题库、证书及有效期全面解析
  • SelectDB数据库
  • SourceDB数据库
  • SQLite数据库
  • StarRocks数据库
  • SUNDB数据库
  • TuGraph图数据库
  • 海量数据Vastbase数据库
  • 华为云数据库 GeminiDB
  • 华为云数据库TaurusDB
  • 磐维数据库PanWeiDB
  • 神舟通用数据库
  • 实时数仓 Hologres
  • 天翼云数据库TeleDB
  • 图数据库gStore
  • 阿里云云原生数据库PolarDB
  • 星瑞格SinoDB数据库管理系统
  • 虚谷xugudb数据库
  • 云和恩墨MogDB数据库
  • 云原生数据库GaiaDB(盖亚)
  • PostgreSQL技术大讲堂 - 第85讲:重讲pg流复制管理利器repmgr应用实践
  • Oracle OCM证书有效期3年?这是个假消息
  • Oracle OCP证书有效期3年?与官方人员确认这是个假消息
  • 2025年4月中国数据库流行度排行榜:OceanBase超过PolarDB登顶
  • Apache Doris数据库
  • openGauss数据库
  • PingCAP TiDB数据库
  • TDengine时序数据库
  • 阿里云AnalyticDB云原生数据仓库