LEADINGZEROS( ) 函数

向字符串或数字中添加前导零。

语法

LEADINGZEROS(字符串/数字, 长度)

参数

名称 类型 描述
字符串/数字 字符

数值

要向其添加前导零的域、表达式或字面量值。

在添加前导零之前,将自动从字符值和字符表达式的结果中消除前导和曳尾空格。

长度 数值

输出字符串的长度。

说明

字符串/数字中任何比长度长的值都被从左侧截断。

输出

字符。

示例

基本示例

字符输入

返回 "000235",因为长度大于字符串/数字中的字符数,所以三个前导零被添加到结果中:

LEADINGZEROS("235", 6)

返回“35”,因为长度小于字符串/数字中的字符数,所以结果被从左侧截断:

LEADINGZEROS("235", 2)

整数输入

返回“235”:

LEADINGZEROS(235, 3)

返回 "00235",因为长度大于字符串/数字中的数字个数,所以两个前导零被添加到结果中:

LEADINGZEROS(235, 5)

小数输入

返回 "023585",因为 LEADINGZEROS( ) 移除小数点:

LEADINGZEROS(235.85, 6)

负数输入

返回 "0644894",因为 LEADINGZEROS( ) 移除负号:

LEADINGZEROS(-6448.94, 7)

高级示例

向包含数字的字符域添加前导零

Employee_Number 域包含值 "254879"。 您需要将该值转换为具有前导零的 10 数字字符串。

COMMENT 返回 "0000254879"
ASSIGN v_str_length = 10
LEADINGZEROS(Employee_Number, v_str_length)

在关联表时协调键域

您有两个表 ArCustomer,并且您计划按客户编号键域关联它们以做进一步分析。 但是,这两个键域具有不同的数据格式,这会妨碍值匹配:

键域 数据类型 域长度 示例
Ar CustNum 数值 4 4455
Customer CustNo 字符

6

(用前导零填充数字)

"004455"

为了在关联时协调这些域,您在 Ar 表中创建了一个使用 LEADINGZEROS( ) 函数的计算域。 然后,您使用该计算域进行关联:

OPEN Customer
INDEX ON CustNo TO Customer_on_CustNo
OPEN 应收账款
COMMENT 创建计算域 CustNum_Zeros,它将 CustNum 域转换为字符数据类型并添加前导零。
DEFINE FIELD CustNum_Zeros COMPUTED LEADINGZEROS(CustNum,6)					
COMMENT 使用刚创建的 CustNum_Zeros 计算域关联 Ar 表。
DEFINE RELATION CustNum_Zeros WITH Customer INDEX Customer_on_CustNo

备注

工作原理

如果您指定的输出长度大于输入值的长度,则此函数会向输出中添加前导零。 该函数接受各种字符和数值输入,并且输出一个字符串。 该函数在 Unicode 和非 Unicode 版本的 Analytics 中的工作方式相同。

该函数常用于标准化需要前导零的域,例如支票编号、采购订单编号和发票编号域。

输入长度和输出值

输入长度 输出值
字符串/数字小于长度 添加的前导零
字符串/数字等于长度 未添加零
字符串/数字大于长度 值被从左侧截断

负号、千位分隔符和小数点

输入值 结果
数值

LEADINGZEROS( ) 从数值输入值中移除负号、千位分隔符和小数点。

被移除的符号不会被包括在输入值的长度中。

字符

LEADINGZEROS( ) 不会从字符输入值中移除负号、千位分隔符或者小数点。

移除的符号被包括在输入值的长度中。