2013-09-16 9 views

Odpowiedz

16

Pierwsza różnica, która przychodzi mi do głowy, to ilość spacji. Powiedzmy, że chcesz napisać 20 spacji, słowo i kolejne 20 spacji:

'     abcd     ' 

Ile jest tam spacji? Znacznie bardziej użyteczne:

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

Czyż nie?

Istnieje wiele przypadków, w których edytujesz czyjś kod generujący zapytania SQL. Jest bardziej niż prawdopodobne, że skasujesz gdzieś miejsce i nie można go debugować. Nie ma takiego problemu, jeśli używana jest funkcja SPACE.

+2

Nie wspominając, można dodać przestrzeń do maksymalnej długości normalnego varchar w T-SQL (8000) – penguat

+0

Aby zawierać spacji danych Unicode lub powrócić ponad 8000 miejsc znakowych, korzystanie replikować zamiast SPACE. – Seymour

5

Jego bardziej jasne, aby zobaczyć przestrzeń (50) w porównaniu do

50 obowiązuje ..

"            " 

Ów mojego powodu.

+0

Widzę, że inni pisali to samo, co powiedziałem mniej więcej w tym samym czasie. mi – Daniel

4

Nie, nie ma różnicy.

Punkt funkcji SPACE pojawia się, gdy jest więcej spacji (np. 20), lub chcesz, aby liczba spacji była czytelna dla czytelnika.

16

Zgadzam się z innymi, którzy odpowiedzieli na to, że SPACJA() jest przydatna do wskazania liczby wykorzystanych spacji lub do dodania dużej liczby spacji.

Używanie spacji może być także prostsze, jeśli chcesz wygenerować plik o stałej szerokości - możesz użyć długości danych jako parametru np.

SELECT 
    name + SPACE(20-LEN(name)) 
FROM 
    SomeTableWithNames 
Powiązane problemy