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), или вы хотите сделать количество пробелов понятным для читателя.