为什么SQL Server的`replace`函数会创建不需要的空格?

时间:2015-11-04 09:05:58

标签: sql-server sql-server-2008-r2

鉴于以下select

select convert(varchar, convert(money, 15.2), 1)

输出结果为:

------------------------------
15.20

(1 row(s) affected)

如果我使用replace功能:

select replace(convert(varchar, convert(money, 15.2), 1), '.', '|')

然后,结果是:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
15|20

(1 row(s) affected)

有没有人知道为什么在使用replace函数后有这么多的空格?

我怎样才能阻止(或修复)这种行为?

1 个答案:

答案 0 :(得分:3)

它不会添加任何空格。

唯一的区别是第一个返回VARCHAR(30)第二个VARCHAR(8000)

您正在使用的应用程序必须以不同方式对待它们。