当前位置: hlflowers->PostgreSQL > PostgreSQL手册-》sql语法-》值表达式-》下标-》域选择-》操作符调用

PostgreSQL手册-》sql语法-》值表达式-》下标-》域选择-》操作符调用

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

PostgreSQL教程-sql语法-值表达式-下标-域选择-操作符调用

4.2.3. 下标

如果一个表达式得到了一个数组类型的值,那么可以抽取出该数组值的一个特定元素:

expression[subscript]

或者抽取出多个相邻元素(一个“数组切片”):

expression[lower_subscript:upper_subscript]

(这里,方括号[ ]表示其字面意思)。每一个下标自身是一个表达式,它必须得到一个整数值。

通常,数组表达式必须被加上括号,但是当要被加下标的表达式只是一个列引用或位置参数时,括号可以被忽略。还有,当原始数组是多维时,多个下标可以被连接起来。例如:

mytable.arraycolumn[4]

mytable.two_d_column[17][34]

$1[10:42]

(arrayfunction(a,b))[42]

最后一个例子中的圆括号是必需的。详见第 8.15 节。

4.2.4. 域选择

如果一个表达式得到一个组合类型(行类型)的值,那么可以抽取该行的指定域

expression.fieldname

通常行表达式必须被加上括号,但是当该表达式是仅从一个表引用或位置参数选择时,圆括号可以被忽略。例如:

mytable.mycolumn

$1.somecolumn

(rowfunction(a,b)).col3

(因此,一个被限定的列引用实际上只是域选择语法的一种特例)。一种重要的特例是从一个组合类型的表列中抽取一个域:

(compositecol).somefield

(mytable.compositecol).somefield

这里需要圆括号来显示compositecol是一个列名而不是一个表名,在第二种情况中则是显示mytable是一个表名而不是一个模式名。

你可以通过书写.*来请求一个组合值的所有域:

(compositecol).*

这种表示法根据上下文而表现不同;有关详细信息,请参见第 8.16.5 节。

4.2.5. 操作符调用

对于一次操作符调用,有三种可能的语法:

expression operator expression(二元中缀操作符)

operator expression(一元前缀操作符)

expression operator(一元后缀操作符)

其中operator记号遵循第 4.1.3 节的语法规则,或者是关键词AND、OR和NOT之一,或者是一个如下形式的受限定操作符名:

OPERATOR(schema.operatorname)

哪个特定操作符存在以及它们是一元的还是二元的取决于由系统或用户定义的那些操作符。第 9 章描述了内建操作符。

  • PostgreSQL技术大讲堂 - 第63讲:duckdb数据库盛宴
  • 金蝶集团信创PostgreSQL数据库认证开班啦!!!
  • PostgreSQL技术大讲堂 - 第65讲:pg与Oracle的绑定变量窥视对比
  • PostgreSQL技术大讲堂 - 第64讲:给pg插上翅膀-pg_quack
  • “多图警告” - 带你快速浏览2024杭州云栖现场
  • 汇集众多AI硬科技 9月19日 阿里云栖大会即将到来
  • 腾讯云TDSQL数据库认证值得考吗?来看看TDSQL证书有什么用
  • PolarDB开源社区荣获2024 OSCAR尖峰开源项目及开源社区奖
  • 如何考取PostgreSQL认证证书?
  • 有序推进合作互补,共建PostgreSQL良好生态环境
  • 【优技教育】Oracle 19c OCP 082认证考试题库(第5题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第1题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第3题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第8题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第13题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第14题)- 2024年修正版
  • Oracle 19c OCP 082认证考试题库(第6题)- 2024年修正版
  • Oracle 19c OCP 082认证考试题库(第7题)- 2024年修正版
  • 8月26日,恭喜CUUG 肖同学获得19c OCM证书!
  • 报名啦!PolarDB数据库创新设计赛(天池杯)等你来战
  • 相约华中科技大学,移动云技术论坛 第四期:打造数智时代新型数据底座
  • PG17版本来了!PostgreSQL全球开发组宣布PostgreSQL 17发布!
  • PostgreSQL技术大讲堂 - 第67讲:PG完全恢复与不完全恢复一网打尽
  • 为什么要考工信部人才交流中心PostgreSQL认证
  • 象形闽都 数智榕城 - PostgreSQL中文社区技术沙龙 - 福州站
  • 有一种能力认证,叫做工信人才PostgreSQL认证
  • 33条必看问题!腾讯云认证考试须知!
  • AI4DB系列公开课--让AI生成SQL语句
  • PostgreSQL技术大讲堂 - 第66讲:PG数据库参数调整
  • 【优技教育】Oracle 19c OCP 082题库(第16题)- 2024年修正版
  • 单考一个OCP认证?还是OCP和OCM认证都拿到手?
  • 备考Oracle OCP 19c认证,这篇内容你需要了解
  • 深入了解Oracle OCP认证,开启数据库专业之旅
  • 数据库认证有用吗?证书:职场晋升的有力助推器
  • 9月28日,工信部人才交流中心&CUUG-PGCA+PGCP+PGCM认证考试完成!
  • 河北建筑工程学院 - 国产数据库工作室揭牌 & 天池杯数据库大赛
  • 浙江大学开源技术交流,PolarDB数据库创新设计赛(天池杯)等你来战
  • 中国人民大学举办PolarDB数据库创新设计赛(天池杯)交流会,大赛技术指导陈卫星老师现场答疑
  • 信创领域认证,来自工信部人才交流中心的PostgreSQL培训班
  • Oracle 19c OCP 认证考试 082 题库(第18题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第19题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第20题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第22题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第23题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第24题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第26题)- 2025年修正版
  • 考前须知:Oracle OCP考试流程和准备
  • 你还在犹豫要不要考个OCP认证吗
  • PostgreSQL数据库技术沙龙福州站圆满结束!
  • 恭喜CUUG多位同学获得PGCP中级-PGCM高级证书