第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 将数字转换为字符串:
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 才能包含十进制数字。
|