SQL Server STR() 函数 - 将数字转换为字符串
在 SQL Server 中,STR() 函数将数字数据作为字符串返回。
STR(numeric_expression [,length [ ,decimal]])
参数
numeric_expression: 一个带有或不带有小数点的数字表达式。
length: 指定返回字符串的总长度,包括小数点、符号、数字和空格。它应该是一个正整数。默认长度是 10。
注意:指定的长度应大于或等于小数点前的数字长度加上(如果包含)数字符号的长度。
decimal: 是小数点右侧的位数。它必须小于或等于 16。如果 decimal 大于 16,则结果将截断到小数点右侧 16 位。它是一个正整数。
返回值
返回 varchar 类型的数字字符串。
从数字获取数字字符串
以下 STR() 函数返回数字字符串。
示例:STR()
SELECT STR(123.76, 6, 2) AS Result

在上面的示例中,STR(123.76, 6, 2)
返回 "123.76"。6 是结果的总长度(包括小数点),2 是结果中的小数位数。
在以下示例中,STR(123.76, 6, 1)
返回 "123.8",因为 decimal 参数是 1,所以它会四舍五入到最大值。
示例:STR()
SELECT STR(123.76, 6, 1) AS Result

STR() 函数对于不同的 length 参数会返回不同的结果,如下所示。
示例:STR()
SELECT STR(123.76, 5, 2) AS Result1,
STR(123.76, 4, 2) AS Result2

以下 STR()
函数与不同的 length 和 decimal 参数一起使用
示例
SELECT STR(123.76, 6, 1) AS Result1,
STR(123.76, 6, 2) AS Result2,
STR(123.76, 7, 3) AS Result3,
STR(123.76, 8, 4) AS Result4

如果数字的长度超过指定长度,则返回 '**'。
示例
SELECT STR(123.76, 2, 1) AS Result

如果指定长度大于给定数字的长度,并且 decimal 等于给定数字的 decimal,则数字不变地返回。
示例
SELECT STR(123.76, 8, 2) AS Result
