У меня есть следующий код, который разделяет строку на 2 части по пространству, но я хочу использовать этот код, чтобы разделить строку на 3 части вместо двух. Является ли это возможным ?Как разбить строку на 3 части в SQL Server
declare @strs nvarchar(max)
set @strs = 'Twinkle Twinkle Little Star, How I wounder what you are.'
set @strs = reverse(@strs)
select reverse(@strs) String,
reverse(right(@strs,len(@strs) - charindex(' ',@strs,30))) Description1,
ltrim(reverse(left(@strs,charindex(' ',@strs,30)))) Description2
На самом деле мне нужно скопировать данные из таблицы1 в таблицу2. Таблица 1 имеет поле «фирменное наименование», которое является varchar (120). Но таблица 2 имеет 3 поля, каждая из которых является varchar (40) «название компании1», «название компании2», «название компании3». Мне нужно разбить строку на 3 части, но логически, на основе пространства и с лимитом в 40 символов.
Например, если строка "Alufinish Gesellschaft für Verfahrenstechnik и. Цур Metalloberflächenbehandlung м.б.Х. & C"
он должен разделить, как это на основе пространства
"Alufinish Gesellschaft für" "Verfahrenstechnik u. Zur * " " * Metalloberflächenbehandlung mbH & C"
Каким будет ожидаемый выход? –
Фактически мне нужно скопировать данные из таблицы1 в таблицу2. В таблице 1 есть поле «companyname», которое является varchar (120). Но в таблице 2 есть три поля: varchar (40) «companyname1», «companyname2», «companyname3». Поэтому мне нужно разбить строку на 3 части, но логично, исходя из пространства и с лимитом в 40 символов. Например, если строка является «LEP Loll Entlackungs-u. Pulverbeschichtungsgesellschaft mbH», она должна расколоться так: «LEP Loll Entlackungs-», «u. Pulverbeschichtungsgesellschaft», «mbH» – user2906622
Это опасно ... Возьмем, например, пример того, начальное имя компании имеет длину ровно 120. Затем приведенные строки должны быть длиной ровно 40, иначе вставка не удалась. Вам должно быть повезло, чтобы пространство было ровно на 41-м и 81-м символах. –