SQL - SPACE(2) + '|' + SPACE(2)和‘ | ‘之间的区别是什么?

14
在使用 SPACE(2) + '|' + SPACE(2) 或者只用 ' | ' 时有什么区别吗?我知道输出结果是一样的,但其他方面我不确定...实际上,如果没有区别,我就看不出使用 SPACE 函数的意义了...

谢谢!

4个回答

16

我同意其他回答中提到的观点,即SPACE()函数可用于指示使用的空格数量或添加大量空格。

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

SELECT 
  name + SPACE(20-LEN(name))
FROM
  SomeTableWithNames

16

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

'                    abcd                    '

有多少个空格?更有用的是:

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

不是吗?

有许多情况下,您需要编辑别人生成SQL查询的代码。很可能会在某个地方删除一个空格,并且无法调试它。如果使用SPACE函数,则不存在这样的问题。


2
更不用说,在T-SQL中,您可以添加空格,直到普通varchar的最大长度(8000)。 - penguat
为了在Unicode数据中包含空格,或者返回超过8000个字符空格,请使用REPLICATE而不是SPACE。 - Seymour

5

相较于50个空格,使用SPACE(50)更加清晰明了。

  "                                               "

这是我的原因。

我看到其他人发布了与我说的几乎相同的内容,时间也差不多。 - Daniel

4

不,没有区别。

SPACE函数的作用是在有更多空格(比如20个)或者你希望向读者清楚地表明空格数量时使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接