SQL Server Str()函数

在本教程中,将学习如何使用SQL Server STR()函数将数值转换为字符值。

SQL Server STR()函数简介

以下语句不起作用:

SELECT 'index' + 1;

执行上面查询语句,得到以下结果:

Conversion failed when converting the varchar value 'index' to data type int.

要使其正常工作,需要使用STR()函数将数字1转换为字符串的"1"

SELECT 
    'index' + STR(1,1,1) result;

STR()函数将数值转换为字符值。 以下显示了STR()函数的语法:

STR ( float_expression [ , length [ , decimal ] ] )

在这个语法中:

  • float_expression是一个数值表达式,其计算结果为带小数点的近似数字。
  • length是返回字符串的总长度。 它包括小数点,符号,数字和空格。 默认情况下,如果跳过不指定它的值,则默认长度为10。 如果长度为零,则该函数返回NULL
  • decimal是要返回的float_expression小数点右侧的位数。 decimal必须小于或等于16。如果大于16,则函数将结果截断到小数点右边的16位。

SQL Server STR()函数示例

下面示例使用STR()函数将包含六位数和小数点的数字转换为具有两个小数位的六位字符串:

SELECT 
    STR(123.456, 6, 2) result

执行上面查询语句,得到以下结果:

result
------
123.46

(1 row affected)

如果数字的长度超过指定的长度,则STR()函数返回"**",如以下示例所示:

SELECT STR(987.65,2,2) result;

执行上面查询语句,得到以下结果:

result
------
**

(1 row affected)

下面一个长度不够的例子:

SELECT STR(987.65,1) result;

执行上面查询语句,得到以下结果:

result
------
*

(1 row affected)

在本教程中,学习了如何使用SQL Server STR()函数将数值转换为字符值。


上一篇: SQL Server字符串函数 下一篇: SQL Server Window函数