14

SPACE(2) + '|' + SPACE(2)using或 just之间有什么区别' | '吗?我知道输出将是相同的,但我不确定其他方面......实际上,如果没有区别,我看不出使用 SPACE 功能的意义......

谢谢!

4

4 回答 4

16

我想到的第一个区别是空间的数量。假设你想写 20 个空格、一个单词和另外 20 个空格:

'                    abcd                    '

有多少个空间?更有用:

SPACE(20)+'abcd'+SPACE(20)

不是吗?

在很多情况下,您编辑某人的代码会生成 SQL 查询。您很可能在某处删除了一个空间而无法对其进行调试。SPACE如果使用函数就没有这样的问题。

于 2013-09-16T12:18:13.103 回答
16

我同意其他回答此问题的人的观点,即 SPACE() 可用于指示使用的空格数或添加大量空格。

如果您想生成固定宽度的格式文件,使用 SPACE 也可能更简单 - 您可以使用数据长度作为参数,例如

SELECT 
  name + SPACE(20-LEN(name))
FROM
  SomeTableWithNames
于 2013-09-16T12:23:41.117 回答
5

与 SPACE(50) 相比,它更清楚地看到

50个空间..

  "                                               "

这就是我的理由。

于 2013-09-16T12:18:38.203 回答
4

不,没有区别。

SPACE当有更多空格(比如 20 个),或者您希望让读者清楚地知道空格的数量时,函数的重点就出现了。

于 2013-09-16T12:18:46.797 回答