文章
· 三月 27, 2022 阅读大约需 2 分钟

第九十四章 SQL函数 %MINUS

第九十四章 SQL函数 %MINUS

将数字转换为规范整理格式,然后反转符号的整理函数。

大纲

%MINUS(expression)

%MINUS expression

参数

  • expression - 表达式,可以是列名、数字或字符串文字、算术表达式或另一个函数的结果,其中基础数据类型可以表示为任何字符类型。

描述

%MINUS 将数字或数字字符串转换为规范形式,反转符号,然后以数字排序规则返回这些表达式值。

%MINUS%PLUS 在功能上是相同的,只是 %MINUS 反转了符号。它为解析为正数的任何数字添加减号前缀,并从解析为负数的任何数字中删除减号。零从不签名。

一个数字可以包含前导零和尾随零、多个前导加号和减号、一个小数点指示符 (.) 和 E 指数指示符。在规范形式中,执行所有算术运算,扩展指数,将符号解析为单个前导减号或无符号,并去除前导零和尾随零。

可以使用或不使用封闭字符串分隔符来指定数字文字。如果字符串包含非数字字符,%MINUS 会在第一个非数字字符处截断数字,并以规范形式返回数字部分。非数字字符串(任何以非数字字符开头的字符串)返回为 0%MINUS 也将 NULL 作为 0 返回。

%MINUS 是一个 SQL 扩展,用于 SQL 查找查询。

可以使用 %SYSTEM.Util 类的 Collation() 方法在 ObjectScript 中执行相同的排序规则转换:

DHC-APP>  WRITE $SYSTEM.Util.Collation("++007.500",4)
-7.5

%MINUS%MVR 排序规则进行比较,后者根据字符串中的数字子字符串对字符串进行排序。

示例

以下示例使用 %MINUS 以家庭街道号的数字降序返回记录:

SELECT Name,Home_Street
FROM Sample.Person
ORDER BY %MINUS(Home_Street)

image

请注意,上面的示例按数字顺序对街道地址的整数部分进行排序。将此与以下 ORDER BY DESC 示例进行比较,该示例按整理顺序中的街道地址对记录进行排序:

SELECT Name,Home_Street
FROM Sample.Person
ORDER BY Home_Street DESC

image

讨论 (0)1
登录或注册以继续