Ето версия, използваща SUBSTRING
и CHARINDEX
за версии на SQL SERVER преди SQL Server 2016, когато STRING_SPLIT
беше въведен.
Някое от следните работи:
SELECT SUBSTRING(@string, CHARINDEX(' ', @string) +1, 20)
SELECT SUBSTRING(@string, CHARINDEX(' ', @string) +1, DATALENGTH(@string) - CHARINDEX(' ', @string) +1 )
Трябва да намерим позицията на интервала, като използваме CHARINDEX (който връща число, представляващо къде започва низът (интервалът). Но низът, който искаме да изберем, започва след интервала, следователно трябва да добавим 1 (+1) към начална позиция на нашия ПОДНИЗ, така че началната позиция да стане CHARINDEX(' ', @string) + 1.
Третият аргумент за SUBSTRING е дължината на низа за избор, в първия случай просто предполагам, че низът, който сте посочили като varchar(20), не може да бъде по-дълъг от 20 знака, следователно използвам 20. Забележка SUBSTRING няма да се опита да изберете знаци след края на низа, така че е безопасно да посочите дължина, по-голяма от броя на оставащите знаци.
Вторият ми пример получава дължината на низа за избор въз основа на дължината на общия низ (DATALENGTH) минус броя знаци преди нашия избор (CHARINDEX + 1)