%MINUS 将数字或数字字符串转换为规范形式,反转符号,然后以数字排序规则返回这些表达式值。
%MINUS 和 %PLUS 在功能上是相同的,只是 %MINUS 反转了符号。它为解析为正数的任何数字添加减号前缀,并从解析为负数的任何数字中删除减号。零从不签名。
一个数字可以包含前导零和尾随零、多个前导加号和减号、一个小数点指示符 ( . ) 和 E 指数指示符。在规范形式中,执行所有算术运算,扩展指数,将符号解析为单个前导减号或无符号,并去除前导零和尾随零。
可以使用或不使用封闭字符串分隔符来指定数字文字。如果字符串包含非数字字符, %MINUS 会在第一个非数字字符处截断数字,并以规范形式返回数字部分。非数字字符串(任何以非数字字符开头的字符串)返回为 0 。 %MINUS 也将 NULL 作为 0 返回。
%MINUS 是一个 SQL 扩展,用于 SQL 查找查询。
可以使用 %SYSTEM.Util 类的 Collation() 方法在 ObjectScript 中执行相同的排序规则转换:
将 %MINUS 与 %MVR 排序规则进行比较,后者根据字符串中的数字子字符串对字符串进行排序。
以下示例使用 %MINUS 以家庭街道号的数字降序返回记录:
请注意,上面的示例按数字顺序对街道地址的整数部分进行排序。将此与以下 ORDER BY DESC 示例进行比较,该示例按整理顺序中的街道地址对记录进行排序:
在Oracle中minus运算的主要功能是: 在进行两个表格或者两个查询结果的时候,返回在第一个表格/查询结果中与第二个表格/查询结果不相同的记录。
比如A表中数据如下:
ID NAME ADDRESS TEL
1 ABC AAAA 123456
2 ABD BBBB 123455
3 ABE CCCCC 111111
比如B表中数据如下:
ID NAME ADDRESS TEL
1 ABC AAAC 123456
2 ABD BBBB 123455
那么
(SELECT * FROM A)
MINUS
(SELECT * FROM B)的结果是:
1 ABC AAAA 123456
3 ABE CCCCC 111111
结果中的第一行数据是由于 A,B 表中的ADDRESS不相等
结果中的第二行数据是由于 A表中的数据在B表中不存在
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)