缓存行地址,使第二次访问时更加便捷。
的
4'
起同样的作用。
序列
的序列语法是
*23)373E
。
的序列语法是
3E8F*23)37F9
。
中,获取写一个序列值可以抽象为调用
:'()*23)3E;'(*23)37>
。
如 果 需 要在一个 复 杂 的
语 句 中使用序 列 值 , 可 以 使 用
:'()*23)3E)*
*23)37>
。
解码
的解码函数使用方法:
''8EG,G2:G,G2>:G'=2>9
为了评估这个表达式,
一个一个地比较
E
和
,
值。 如果
E
等于
,
,
返回对应的
2
。如果没有找到匹配值,返回
'=2
或者
32
。
没有这样的结构,但是可以使用下面格式替代:
"BH"#EH"#E:>""E"#
例如:
"BH"#IH"#F7,F""F37,F"#
,返回第一个为真的谓词对
应的表达式。
""
和
"
的模拟方式有一点不同:
""8EG#?GF32FGFF9
,如果
E
为
#?
则 返 回
#?
; 而
" E BH"# #? H"# F32F "" FF "#
, 则 返 回 ’
6
的
2
。
同样。
NVL
还有其他便捷函数:
#&
。如果不为
#?
,
#&
返回第一个参数,否则返回第
二个参数:
)'.I#&8,)'GC"9J
。如果
,)'
为
#?
,则前面的语句会
返 回
C"
。
和
有 一 个 函 数 以 更 普 遍 的 方 式 执 行 同 样 的 行 为 :
8EGEGEKG9
,返回第一个非
#?
表达式。
FROM
中子查询
*
中子查询需要使用括号包含,并提供一个别名。
中不需要别名:
:
""L1$ 8""L1$ ()9
*
:
""L1$ 8""L1$ ()9=
4
、功能差异
*
并不具备
所有功能。
通过指定的方案解决这些限制。虽然
具备大部分功能,但是一些特性还需要等待其新版本发布。
Outer joins
老版本
M
之前,
2A3
:
""N'G(N'
1$ G(
BH"$"7)'I(7)'8O9
8O9
表示,如果表
(
中没有匹配的
7)'
值,匹配会继续下去,会作为一个空行进行匹
配。
*
和
M
及之前版本:
""N'G(N'
1$
"1?"$P#(
#7)'I(7)'J
只有汇聚值从
2A3'
表中提取时,也可能不使用
A3
。如果原始查询:
评论