Function Reference for Policy Modeling Rules (Chinese (Simplified))

本主题列出了在 Oracle Policy Modeling 中编写规则时可以使用的函数。

请注意,列表分隔符 ',' 可能随策略模型的区域而发生更改。


逻辑连接词

(English)

表 1 列出了可以在 Intelligent Advisor 规则中使用的逻辑连接词。

Table 1. 逻辑连接词
语法 说明
如果
可选术语可出现在具有以下证明的结论行的末尾
并且
以及
两个属性之间的逻辑与运算
或者
两个属性之间的逻辑或运算
任一
一个
任何
满足一个条件
满足任意条件
需要对两个或两个以上的属性分组时,请对逻辑或运算中使用的要素进行分组
两者
所有
所有条件均成立
满足以下所有条件
需要对两个或两个以上的属性分组时,请对逻辑与运算中使用的要素进行分组
其他
出现在表格规则末尾表示 otherwise 子句的术语

在简短语句与完整属性文本之间的图例项中使用的术语

逻辑函数

(English)

表 2 列出了可以在 Intelligent Advisor 规则中使用的逻辑函数。

Table 2. 逻辑函数
语法 说明
(<条件>)
这不是事实:<条件>
属性或条件具有假值时用来返回真值的运算符
确定(<条件>)
<属性> 是确定的
这是确定的:<条件>
属性或条件的值不是“不确定”时用来返回真值的运算符
不确定(<条件>)
<属性> 是未确定的
<属性> 是不确定的
这是不确定的:<条件>
这是没确定的:<条件>
这是未确定的:<条件>
属性或条件值为“不确定”时用来返回真值的运算符
已知(<条件>)
<属性> 是已知的
这是已知的:<条件>
属性或条件具有任意值时用来返回真值的运算符
未知(<条件>)
<属性> 是未知的
这是未知的:<条件>
属性或条件没有任何值时用来返回真值的运算符
如果(<条件>,<value-if-true>,<value-if-false>)
返回两个值中的一个,具体取决于条件为真还是假。
默认值(<值>,<default>)
除非值不确定,否则会返回值,该情况下会返回默认值。
为未知时使用默认值(<值>,<default>)
除非值不确定或未知,否则会返回值,该情况下会返回默认值。

逻辑常数

(English)

表 3 列出了可以在 Intelligent Advisor 规则中使用的逻辑常数。

Table 3. 逻辑常数
语法 说明
真的
用于表规则的常数真值。
假的
用于表规则的常数假值。
不确定的
用于表规则的常数不确定值。

比较运算符

(English)

表 4 列出了可以在 Intelligent Advisor 规则中使用的比较运算符。

Table 4. 比较运算符
语法 说明
<x> < <y>
小于
<x> > <y>
大于
<x> <= <y>
小于或等于
<x> >= <y>
大于或等于
<x> = <y>
等于
<x> <> <y>
不等于

数值函数

(English)

表 5 列出了可以在 Intelligent Advisor 规则中使用的数值函数。

Table 5. 数值函数
语法 说明
<x> + <y>
数学加法
<x> - <y>
数学减法,除非它显示为嵌入在单词(两边有字母或数字)中。请添加空格以确保将其识别为数学符号。
<x> * <y>
数学乘法
<x> / <y>
数学除法,除非它显示为嵌入在单词(两边有字母或数字)中。请添加空格以确保将其识别为数学符号。
数字(<文本>)
将指定字符串转换为数字
最大值(<x>,<y>)
返回两个值中的较大者
最小值(<x>,<y>)
返回两个值中的较小者
余数(<x>,<y>)
返回 x 除以 y 的余数
取指数(<x>,<y>)
x 的 y 次幂
e指数(<x>)
常量 e 的 x 次幂
绝对值(<x>)
x 的绝对值
自然对数(<x>)
x 的自然对数值
常用对数(<x>)
以 10 为底数的 x 的对数值
平方根(<x>)
x 的平方根
四舍五入(<x>,<n>)
将 x 精确到 n 位小数
截取值(<x>,<n>)
截取 x 到 n 位小数
取正弦函数值(<x>)
x 的正弦值
取余弦函数值(<x>)
x 的余弦值
取正切函数值(<x>)
x 的正切值
取反正弦函数值(<x>)
x 的反正弦值
取反余弦函数值(<x>)
x 的反余弦值
取反正切函数值(<x>)
x 的反正切值

日期函数

(English)

表 6 列出了可以在 Intelligent Advisor 规则中使用的日期函数。

Table 6. 日期函数
语法 说明
当前日期()
在会话的开头返回当前日期。
日期(<文本>)
将指定字符串转换为日期值
构建日期(<年>,<月>,<日>)
从指定年、月、日中返回日期。
取具体日子(<日期或日期时间>)
返回日期/日期时间属性的日组成部分。
取月份(<日期或日期时间>)
返回日期/日期时间属性的月组成部分。
取年份(<日期或日期时间>)
返回日期/日期时间属性的年组成部分。
特定星期的另一天(<日期或日期时间>,<星期>)
<日期或日期时间>当天或之后的下个星期一
<日期或日期时间>当天或之前的上个星期一
<日期或日期时间>当天或之后的下个星期二
<日期或日期时间>当天或之前的上个星期二
<日期或日期时间>当天或之后的下个星期三
<日期或日期时间>当天或之前的上个星期三
<日期或日期时间>当天或之后的下个星期四
<日期或日期时间>当天或之前的上个星期四
<日期或日期时间>当天或之后的下个星期五
<日期或日期时间>当天或之前的上个星期五
<日期或日期时间>当天或之后的下个星期六
<日期或日期时间>当天或之前的上个星期六
<日期或日期时间>当天或之后的下个星期日
<日期或日期时间>当天或之前的上个星期日
返回某一日期或之前/之后下一工作日的日期(取决于所使用的语法)。
另一天(<日期>,<一月某日>,<月>)
返回某一日期之后给定日和月的下一实例。
增加天数(<日期或日期时间>,<天数>)
向日期中添加或从中减去天数。使用简洁句法形式时,数字必须为正整数,以便向输入日期中添加天数,或者必须为负数,以便从输入日期中减去天数。
增加星期数(<日期或日期时间>,<周数>)
向日期中添加周数。使用简洁句法形式时,数字必须为正整数,以便向输入日期中添加周数。
增加月份数(<日期或日期时间>,<月数>)
向日期中添加月数。使用简洁句法形式时,数字必须为正整数,以便向输入日期中添加月数。
增加年数(<日期或日期时间>,<年数>)
向日期中添加年数。使用简洁句法形式时,数字必须为正整数,以便向输入日期中添加年数。
相隔工作日(<日期>,<日期>)
计算日期 1 与日期 2 之间的工作日数量。即星期一到星期五之间的天数。
注:包含较早日期,但是不包含较晚日期。
年初(<日期或日期时间>)
返回某一日期所在年中的第一个日期。
年末(<日期或日期时间>)
返回某一日期所在年中的最后一个日期。
相隔天数(<日期或日期时间>,<日期或日期时间>)
返回日期/日期时间 1 与日期/日期时间 2 之间的完整天数。两个日期的顺序不会影响结果。
含两边的相隔天数(<日期>,<日期>)
返回日期 1 与日期 2 之间的完整天数(包含首尾时间)。计算结果包含首尾时间。首尾日期相同时,返回结果为 1。两个日期的顺序不会影响结果。
不含两边的相隔天数(<日期>,<日期>)
返回日期 1 与日期 2 之间的完整天数(不包含首尾时间)。计算结果不包含首尾时间。首尾日期相同时,返回结果为 0。两个日期的顺序不会影响结果。
相隔星期数(<日期或日期时间>,<日期或日期时间>)
返回日期/日期时间 1 与日期/日期时间 2 之间的已用整周数。两个日期的顺序不会影响结果。
相隔月数(<日期或日期时间>,<日期或日期时间>)
返回日期/日期时间 1 与日期/日期时间 2 之间的已用整月数。两个日期的顺序不会影响结果。
相隔整年数(<日期或日期时间>,<日期或日期时间>)
返回日期/日期时间 1 与日期/日期时间 2 之间的年数。两个日期的顺序不会影响结果。

当天的时间函数

(English)

表 7 列出了可以在 Intelligent Advisor 规则中使用的当天时间函数。

Table 7. 当天的时间函数
语法 说明
当前的实际时间(<文本>)
将给定字符串转换为当天的时间
取秒(<时间或日期时间>)
返回当前的实际时间/日期时间属性的秒组成部分。
取分钟(<时间或日期时间>)
返回当前的实际时间/日期时间属性的分钟组成部分。
取小时(<时间或日期时间>)
返回当前的实际时间/日期时间属性的小时组成部分。

日期和时间函数

(English)

表 8 列出了可以在 Intelligent Advisor 规则中使用的日期和时间函数。

Table 8. 日期和时间函数
语法 说明
当前日期时间()
在会话的开头返回当前日期和时间。
日期时间(<文本>)
将指定字符串转换为日期时间值
连接日期时间(<日期>,<时间>)
通过连接日期与当天的时间,设置日期时间。
相隔秒数(<日期时间 1>,<日期时间 2>)
返回日期时间 1 与日期时间 2 之间的秒钟数。
含两边的相隔秒数(<日期时间 1>,<日期时间 2>)
返回日期时间 1 与日期时间 2 之间的秒钟数(包含首尾时间)。
不含两边的相隔秒数(<日期时间 1>,<日期时间 2>)
返回日期时间 1 与日期时间 2 之间的秒钟数(不包含首尾时间)。
相隔分钟数(<日期时间 1>,<日期时间 2>)
返回日期时间 1 与日期时间 2 之间的分钟数。
相隔小时数(<日期时间 1>,<日期时间 2>)
返回日期时间 1 与日期时间 2 之间的小时数。
取日期(<日期时间>)
从日期时间属性中取日期。
取当前的实际时间(<日期时间>)
从日期时间属性中取当天的时间。可用于将当前的实际时间属性的值设置为从当前日期和时间中取时间时执行规则的时间。
增加小时数(<日期时间>,<小时数>)
向日期时间中添加小时数。
增加分钟数(<日期时间>,<分钟数>)
向日期时间中添加分钟数。
增加秒数(<日期时间>,<秒数>)
向日期时间中添加秒钟数。

文本函数

(English)

表 9 列出了可以在 Intelligent Advisor 规则中使用的文本函数。

Table 9. 文本函数
语法 说明
<文本 1> + <文本 2>
在文本 1 中附加文本 2 以形成单个文本值。
包含(<文本>,<子字符串>)
返回布尔值,表示给定的文本值是否包含给定的文本子字符串。文本比较不区分大小写。
结尾(<文本>,<子字符串>)
返回布尔值,表示给定的文本值是否以给定的文本子字符串结尾。文本比较不区分大小写。
是数字(<文本>)
返回布尔值,表示给定文本值是否代表有效数字。
长度(<文本>)
返回给定文本值的字符长度。
开头(<文本>,<子字符串>)
返回布尔值,表示给定的文本值是否以给定的文本子字符串开始。文本比较不区分大小写。
子字符串(<文本>,<开始>,<长度>)
返回以给定偏移量(指定字符长度)开始的文本的子字符串。如果到达字符串末尾,则返回较少字符。
文本(<值>)
将指定数字或日期属性转换为文本值。
大写(<文本>)
返回字符串的大写版本
小写(<文本>)
返回字符串的小写版本
查找(<文本>,<子字符串>)
返回字符串中出现给定文本子字符串的位置的索引。
引号()
返回引号标点字符:"。
换行()
返回换行符。

实体和关系函数

(English)

表 10 列出了可以在 Intelligent Advisor 规则中使用的实体和关系函数。

Table 10. 实体和关系函数
语法 说明
满足条件(<关系>,<值>)
只有一个条件时,用于在“一对一”、“多对一”或“多对多”关系中从一个实体指向另一个实体。
范围满足条件(<关系>,<别名>)
范围满足条件(<关系>)
有一个或多个条件时,用于在“一对一”、“多对一”或“多对多”关系中从一个实体指向另一个实体。 Microsoft Excel 规则中不支持此函数。
所有都满足条件(<关系>,<条件>)
当需要确定目标实体组中的所有成员是否需要满足规则时,用于在关系中从一个实体指向另一个实体。
当规则中只有一个条件时使用这种形式。
范围内所有都满足条件(<关系>)
范围内所有都满足条件(<关系>,<别名>)
当需要确定目标实体组中的所有成员是否需要满足规则时,用于在关系中从一个实体指向另一个实体。
当规则中有一个或多个条件时使用这种形式。 Microsoft Excel 规则中不支持此函数。
存在一个满足条件(<关系>,<条件>)
当需要确定目标实体组中的任何成员是否需要满足规则时,用于在关系中从一个实体指向另一个实体。
当规则中只有一个条件时使用这种形式。
范围内存在一个满足条件(<关系>)
范围内存在一个满足条件(<关系>,<别名>)
当需要确定目标实体组中的任何成员是否需要满足规则时,用于在关系中从一个实体指向另一个实体。
当规则中有一个或多个条件时使用这种形式。 Microsoft Excel 规则中不支持此函数。
是集合的成员(<目标>,<关系>)
是集合的成员(<目标>,<别名>,<关系>)
用作结论来推断一个实体实例是关系的成员。用作条件来测试实体实例是关系(其中另一个实体实例是源实例)的目标。仅支持将此函数的否定形式作为条件,而不能作为结论。 Microsoft Excel 规则中不支持此函数。
实例总数(<关系>)
计算实体的实例数量。
满足条件的实例总数(<关系>,<条件>)
计算特定实体层属性具有特定值的实体的实例数量。
实例最大值(<关系>,<属性>)
获取该实体的所有实例中实体层变量的最高/最新值。
满足条件的实例最大值(<关系>,<属性>,<条件>)
获取特定实体层属性具有特定值的实体的所有实例中实体层变量的最高/最新值。
实例最小值(<关系>,<属性>)
获取该实体的所有实例中实体层变量的最低/最旧值。
满足条件的实例最小值(<关系>,<属性>,<条件>)
获取特定实体层属性具有特定值的实体的所有实例中实体层变量的最低/最旧值。
实例总和(<关系>,<数字>)
获取实体层变量的所有实例总数。
满足条件的实例总和(<关系>,<数字>,<条件>)
获取实体层变量(特定实体层布尔值属性为真的实体为真)的所有实例总数。
满足条件的实例值(<关系>,<值>,<条件>)
按照条件在关系的目标实体实例中查找,获取唯一实体实例的值。
  • 如果条件标识单个目标实体实例,则该值是根据该实体实例计算的值。
  • 如果有多个目标实例符合条件,则返回“不确定”。
  • 如果没有目标实例符合条件并且关系已知,该值是“不确定”。
实例等于(<实例 1>,<实例 2>)
确定实体的两个实例是否为同一实例。 Microsoft Excel 规则中不支持此函数。
实例不等于(<实例 1>,<实例 2>)
确定实体的两个实例是否是同一实例。 Microsoft Excel 规则中不支持此函数。
推断实例(<关系>,<标识>)
<关系>(<标识>)存在
用作结论来创建具有特定标识符的实体实例。
推断此对象的实例(<实体>,<关系>)
推断此对象的实例(<实体>,<别名>,<关系>)
用作结论来创建实体实例作为现有实体实例的对等实例。

时间推理函数

(English)

表 11 列出了可以在 Intelligent Advisor 规则中使用的时间推理函数。

Table 11. 时间推理函数
语法 说明
时间间隔内变量的唯一值总数(<开始日期>,<结束日期>,<值>)
计算在开始日期(包含)与结束日期(不包含)之间变量的已知不同值的数量。
满足条件的时间间隔内变量的唯一值总数(<开始日期>,<结束日期>,<值>,<条件>)
计算在开始日期(包含)与结束日期(不包含)之间且仅在布尔筛选条件为真时变量的已知不同值的数量。
时间间隔内变量值的每日总和(<开始日期>,<结束日期>,<数字>)
计算在开始日期(包含)与结束日期(不包含)之间货币或数值变量的总和。属性假定为每日数量。
满足条件的时间间隔内变量值的每日总和(<开始日期>,<结束日期>,<数字>,<条件>)
计算在开始日期(包含)与结束日期(不包含)之间且仅在条件为真时,货币或数值变量的所有每日值的总和。
时间间隔内变量的最大值(<开始日期>,<结束日期>,<属性>)
选择在开始日期(包含)与结束日期(不包含)之间变量的最大值。
满足条件的时间间隔内变量的最大值(<开始日期>,<结束日期>,<值>,<条件>)
选择在开始日期(包含)与结束日期(不包含)之间且仅在条件为真时变量的最大值。
时间间隔内变量的最小值(<开始日期>,<结束日期>,<值>)
选择在开始日期(包含)与结束日期(不包含)之间变量的最小值。
满足条件的时间间隔内变量的最小值(<开始日期>,<结束日期>,<属性>,<条件>)
选择在开始日期(包含)与结束日期(不包含)之间且仅在条件为真时变量的最小值。
时间间隔内变量值的加权平均数(<开始日期>,<结束日期>,<数字>)
计算在开始日期(包含)与结束日期(不包含)之间,按照各个值所对应的时间范围进行加权的货币或数值变量的平均值。
满足条件的时间间隔内变量值的加权平均数(<开始日期>,<结束日期>,<数字>,<条件>)
计算在开始日期(包含)与结束日期(不包含)之间且仅在布尔条件为真(按照各个值所对应的时间范围进行加权并且筛选条件为真)时,货币或数值变量的平均值。
时间间隔内始终满足条件(<开始日期>,<结束日期>,<条件>)
当且仅当布尔条件在开始日期(包含)与结束日期(不包含)之间始终为真时,返回真值。
时间间隔内至少数天满足条件(<开始日期>,<结束日期>,<天数>,<条件>)
当且仅当布尔条件在开始日期(包含)与结束日期(不包含)之间至少指定的天数(不必连续)内为真时,返回真值。
时间间隔内连续数天满足条件(<开始日期>,<结束日期>,<天数>,<条件>)
当且仅当布尔条件在开始日期(包含)与结束日期(不包含)之间至少给定的连续天数内为真时,返回真值。
时间间隔内有时满足条件(<开始日期>,<结束日期>,<条件>)
当且仅当布尔条件在开始日期(包含)与结束日期(不包含)之间始终为真时,返回真值。
取特定日期的值(<日期>,<值>)
返回给定属性在指定日期的值。
在此之前满足条件的日期(<日期>,<条件>)
返回从指定日期(包含该日期)起倒推,布尔条件上次为真的日期。
在此之后满足条件的日期(<日期>,<条件>)
返回从指定日期(包含该日期)起倒推,布尔条件会为真的日期。
最晚日期()
返回最晚可能日期对应的日期值 - 即保证晚于日期属性可能具有或表达式求值结果中可能包含的其它任何日期的一个日期。
最早日期()
返回最早可能日期对应的日期值 - 即保证早于日期属性可能具有或表达式求值结果中可能包含的其它任何日期的一个日期。
间隔累计天数(<开始日期>,<结束日期>)
返回每天各异的数值变量,该变量代表自该日期起的完整天数。
间隔累计星期数(<开始日期>,<结束日期>)
返回每周各异的数值变量,该变量代表自该日期起的完整周数。
间隔累计月数(<开始日期>,<结束日期>)
返回每月各异的数值变量,该变量代表自该日期起的完整月数。注:如果提供的日期在当月 28 日之后,并且下个月的天数比该月天数少,则将会在下个月的最后一天创建周年月份变更点。例如,如果提供的日期为 2007 年 1 月 28、29、30 或 31 日,则第一个变更点即为 2007 年 2 月 28 日。
间隔累计年数(<开始日期>,<结束日期>)
返回每年各异的数值变量,该变量代表自该日期起的完整年数。
连续数天始终满足条件(<天数>,<条件>)
返回随时间变化,当且仅当布尔条件在之前指定的所有天数(不包括当天)内始终为真时才为真的布尔值属性。
至少连续数天满足条件(<所需天数>,<搜索天数>,<条件>)
返回随时间变化,当且仅当布尔条件在之前设定天数(不包括当前天)中任意时间段内连续为真的天数至少达到最少天数时才为真的布尔值属性。
累计数天满足条件(<天数>,<条件>)
返回随时间变化,当且仅当布尔条件在之前指定的天数(不包含当天)内始终为真时才为真的布尔值属性。
本日期以后(<日期>)
返回随时间变化且在某一日期之后为真,当天及之前为假的布尔值属性。
本日期以前(<日期>)
返回随时间变化且在某一日期之前为真,当天及之后为假的布尔值属性。
本日期当天(<日期>)
返回随时间变化且在某一日期为真,之前和之后均为假的布尔值属性。
本日期当天或者以后(<日期>)
返回随时间变化且在某一日期或之后为真,之前为假的布尔值属性。
本日期当天或者以前(<日期>)
返回随时间变化且在某一日期或之前为真,之后为假的布尔值属性。
依据开始日期取值(<关系>,<日期>,<值>)
从其值自开始日期属性起有效的实体的关系和值属性中返回单一临时属性(在源实体层中)。
依据结束日期取值(<关系>,<日期>,<值>)
从其值在结束日期属性之前均有效的实体的关系和值属性中返回单一临时属性(在源实体层中)。
依据日期区间取值(<关系>,<开始日期>,<结束日期>,<值>)
从其值在开始日期属性(包含)和结束日期属性(不包含)之间均有效的实体的关系和值属性中返回单一临时属性(在源实体层中)。如果值在下一开始日期前过期,则该值是不确定。
临时工作日(<开始日期>,<结束日期>)
日期是指定开始日期(包含)与结束日期(不包含)之间的工作日时返回真值,日期是周末时返回假值。返回日期范围外的不确定。
临时每月一次(<开始日期>,<结束日期>,<一月某日>)
日等于月份日期参数时返回真值,为从指定开始日期(包含)与结束日期(不包含)之间的月份所有其它日时返回假值。返回日期范围外的不确定。月份日期超出当月天数时,该值在该月的最后一天为真值,因此函数返回的值恰好是每月有一天为真。

验证事件功能

(English)

表 12 列出了可以在 Intelligent Advisor 规则中使用的验证事件函数。

Table 12. 验证事件功能
语法 说明
错误(<文本>)
使用错误事件将消息传递给用户,防止继续调查到触发该错误的条件不再适用为止。
警告(<文本>)
使用警告事件将消息传递给用户,但允许继续进行,而不管触发该警告的条件。

其他函数

(English)

表 13 列出了可以在 Intelligent Advisor 规则中使用的其他函数。

Table 13. 其他函数
语法 说明
当前语言区域()
返回会话的语言区域设置。
DeploymentVersion()
如果从部署运行策略模型,则返回部署的名称。否则,返回不确定。
DeploymentName()
如果从部署运行策略模型,则返回部署版本。否则,返回不确定。
(<属性>)
返回属性的值。如果属性类型是值列表,则返回值列表项的值。