Oto wersja używająca SUBSTRING
i CHARINDEX
dla wersji SQL SERVER przed SQL Server 2016, gdy STRING_SPLIT
został wprowadzony.
Jedna z następujących prac:
SELECT SUBSTRING(@string, CHARINDEX(' ', @string) +1, 20)
SELECT SUBSTRING(@string, CHARINDEX(' ', @string) +1, DATALENGTH(@string) - CHARINDEX(' ', @string) +1 )
Musimy znaleźć pozycję spacji za pomocą CHARINDEX (który zwraca liczbę oznaczającą, gdzie zaczyna się ciąg (spacja). Jednak ciąg, który chcemy wybrać, zaczyna się po spacji, dlatego musimy dodać 1 (+1) do pozycja początkowa naszego SUBSTRING, tak aby pozycja początkowa stała się CHARINDEX(' ', @string) + 1.
Trzecim argumentem dla PODŁAŃCUCH jest długość ciągu do wybrania, w pierwszym przypadku po prostu zakładam, że ciąg określony jako varchar(20) nie może być dłuższy niż 20 znaków, dlatego używam 20. Uwaga PODŁAŃCUCH nie będzie próbował wybierz znaki znajdujące się poza końcem ciągu, więc bezpiecznie jest określić długość dłuższą niż liczba pozostałych znaków.
Mój drugi przykład pobiera długość ciągu do wybrania na podstawie długości całego ciągu (DATALENGTH) minus liczba znaków przed naszym wyborem (CHARINDEX + 1)