大数据就业实战培训 Oracle就业实战培训

CUUG,以就业为导向,让学员学到真正实用的技术

当前位置: CUUG培训-优技培训 >> PostgreSQL >

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

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

来源:CUUG培训-优技培训    更新时间:2023/8/21 17:54:50    阅读次数:

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 章描述了内建操作符。

071考试
大数据课程
WDP
oracle机构
oracle认证
oracle课程
oracle视频
CUUG就业实战培训
CUUG与ORACLE公司建立最核心、最权威、最深层次的战略合作伙伴关系;
CUUG是唯一一家只做DBA就业培训和oracle认证的授权机构,28年培养数万名oracle技术人才;
CUUG金牌讲师授课,来自一线的资深ORACLE OCM技术专家团队;
CUUG顶尖完善的学习体系,以甲骨文原厂ORACLE数据库核心技术为教学课程;

报名入口 点击进入

课程咨询:400-0909-964

考试咨询:400-0909-964

QQ:点击获取

E-mail:yuezt@cuug.com