文章
· 五月 4, 2022 阅读大约需 2 分钟

第132章 SQL函数 STR

第132章 SQL函数 STR

将数字转换为字符串的函数。

大纲

STR(number[,length[,decimals]])

参数

  • number - 解析为数字的表达式。它可以是字段名称、数字或其他函数的结果。如果指定了字段名称,则使用逻辑值。
  • length - 可选 — 一个整数,指定所需输出字符串的总长度,包括所有字符(数字、小数点、符号、空格)。默认值为 10
  • decimals - 可选 — 一个整数,指定要包含的小数点右侧的位数。默认值为 0。

描述

STR 将数字转换为 STRING 格式,根据长度和小数的值截断数字。长度参数必须足够大以包含数字的整个整数部分,并且,如果指定小数,则该小数位数加 1(用于小数点)。如果长度不够大,则 STR 将返回一个星号 (*) 字符串,该字符串等于长度。

STR 在字符串转换之前将数字转换为其规范形式。因此,它执行算术运算,从数字中删除前导和尾随零以及前导加号。

如果 number 参数为 NULL,则 STR 返回 NULL。如果 number 参数是空字符串 (''),则 STR 返回空字符串。 STRING 保留空格。

示例

在以下嵌入式 SQL 示例中,STR 将数字转换为字符串:

/// d ##class(PHA.TEST.SQLFunction).Str()
ClassMethod Str()
{
    &sql(
        SELECT STR(123),
            STR(123,4),
            STR(+00123.45,3),
            STR(+00123.45,3,1),
            STR(+00123.45,5,1)
        INTO :v,:w,:x,:y,:z
    )
    if SQLCODE '= 0 {
        w !,"Error code ",SQLCODE 
    } else {
        w !,"Resulting STR:",v," string"
        w !,"Resulting STR:",w," string"
        w !,"Resulting STR:",x," string"
        w !,"Resulting STR:",y," string"
        w !,"Resulting STR:",z," string" 
    }
}
DHC-APP>d ##class(PHA.TEST.SQLFunction).Str()

Resulting STR:       123 string
Resulting STR: 123 string
Resulting STR:123 string
Resulting STR:*** string
Resulting STR:123.4 string

第一个 STR 函数返回一个由 7 个前导空格和数字 123 组成的字符串;七个前导空格是因为默认字符串长度为 10。第二个 STR 函数返回字符串“123”;注意返回长度为 4 的字符串所需的前导空格。第三个 STR 函数返回字符串“123”;数字被放入规范形式,小数默认为 0。第四个 STR 函数返回“***”,因为字符串长度不足以包含指定的整个数字;星号的数量表示字符串长度。第五个STR函数返回“123.4”;请注意,长度必须为 5 才能包含十进制数字。

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