Как получить второе слово в строке с помощью t- sql? - PullRequest
0 голосов
/ 25 мая 2020

Я хочу извлечь второе слово из строки или фразы между первым и третьим пробелами.

например

"The Boeing Corporation"

Я бы хотел "Boeing"

Ответы [ 2 ]

2 голосов
/ 25 мая 2020
declare @sentence nvarchar(264);

set @sentence = 'The Boeing Corporation';

select ltrim(substring(@sentence,charindex(' ',@sentence), CHARINDEX(' ',ltrim(SUBSTRING(@sentence,charindex(' ',@sentence),LEN(@sentence)-charindex(' ',@sentence)))) ))
| (No column name) |
| :--------------- |
| Boeing           |

db <> fiddle здесь

1 голос
/ 25 мая 2020

Еще один вариант с использованием бита XML

Пример

Declare @YourTable table (SomeCol varchar(500))
Insert Into @YourTable values
('The Boeing Corporation')

Select SomeCol
      ,Pos2 = cast('<x>' + replace(A.SomeCol,' ','</x><x>')+'</x>' as xml).value('/x[2]','varchar(50)')
 From  @YourTable A

Возвращает

SomeCol                 Pos2
The Boeing Corporation  Boeing
...