Podczas pracy z bazami danych i powiązanymi danymi czasami musisz wstawić spację podczas łączenia dwóch łańcuchów, a czasami musisz zastąpić znak spacją.
A potem czasami trzeba wstawić wiele spacji. Oto 3 sposoby na zwrócenie ciągu wielu spacji w SQL Server przy użyciu T-SQL.
Opcja 1:wpisz wszystkie spacje
Najbardziej oczywistym sposobem jest po prostu wpisanie każdej potrzebnej przestrzeni. Tak:
SELECT 'Homer' + ' ' + 'Satriani';
Wynik:
------------------------- Homer Satriani
W tym przykładzie dodaję 12 spacji między dwoma innymi ciągami. Ta metoda jest zwykle idealna, gdy wystarczy wstawić jedną lub dwie spacje. Ale kiedy musisz dodać powiedzmy tuzin lub więcej, łatwiej będzie użyć SPACE()
funkcja.
Opcja 2:Funkcja SPACJA()
SPACE()
Specjalnie w tym celu zbudowano funkcję – zwracającą ciąg powtarzających się spacji. Po prostu wpisz funkcję i podaj argument określający, ile spacji jest wymaganych.
Możemy więc przekonwertować poprzedni przykład na ten:
SELECT 'Homer' + SPACE(12) + 'Satriani';
Wynik:
------------------------- Homer Satriani
Opcja 3:Funkcja REPLICATE()
Jeśli potrzebujesz wstawić bardzo dużą liczbę spacji (8000 lub więcej), powinieneś użyć REPLICATE()
funkcjonować. Ta funkcja faktycznie replikuje dowolny znak – nie tylko spacje.
Możemy więc zmienić poprzednie przykłady na następujące:
SELECT 'Homer' + REPLICATE(' ', 12) + 'Satriani';
Wynik:
------------------------- Homer Satriani
Możesz także użyć CHAR()
funkcja do jawnego określenia znaku do użycia. Na przykład CHAR(32)
dla spacji lub CHAR(160)
dla niełamliwej przestrzeni:
SELECT 'Homer' + REPLICATE(char(160), 12) + 'Satriani';
Wynik:
------------------------- Homer Satriani
Zastępowanie spacji wieloma spacjami
Możemy więc użyć dowolnej z powyższych metod w ramach REPLACE()
funkcja zastępująca pojedynczą spację wieloma spacjami.
Oto przykład użycia SPACE()
funkcja:
SELECT REPLACE('Homer Satriani', ' ', SPACE(12));
Wynik:
------------------------- Homer Satriani