SQL - разница между SPACE (2) + '|' + ПРОСТРАНСТВО (2) и '| "?

Есть ли разница между использованием SPACE(2) + '|' + SPACE(2) или просто ' | '? Я знаю, что результат будет таким же, но я не уверен в других аспектах... На самом деле я не вижу смысла в использовании функции SPACE, если нет разницы...

Спасибо!

Ответы

Ответ 1

Первое различие, которое приходит мне на ум, - это количество пробелов. Скажем, вы хотели бы написать 20 пробелов, слово и еще 20 пробелов:

'                    abcd                    '

Сколько там пробелов? Гораздо полезнее:

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

Не правда ли?

Существует много случаев, когда вы редактируете код пользователя, генерирующий SQL-запросы. Это более чем вероятно, что вы удаляете место где-то и не можете его отладить. Нет такой проблемы, если используется функция SPACE.

Ответ 2

Я согласен с другими, которые ответили, что SPACE() полезен для указания количества используемых пробелов или для добавления большого количества пробелов.

Использование SPACE также может быть проще, если вы хотите сгенерировать файл формата фиксированной ширины - вы можете использовать длину данных в качестве параметра, например.

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

Ответ 3

Чем яснее видеть SPACE (50) по сравнению с

50 пробелов..

  "                                               "

Это моя причина.

Ответ 4

Нет, нет разницы.

Точка функции SPACE появляется, когда имеется больше пробелов (например, 20), или вы хотите сделать количество пробелов понятным для читателя.