Как разбить строку и суммировать части в новую числовую переменную в SQL? - PullRequest
0 голосов
/ 21 марта 2019

У меня есть несколько наборов данных со строковой переменной, которая является результатом объединения до четырех числовых переменных. Переменные выглядят так, как в моем примере ниже:

enter image description here

Мне нужно создать новую числовую переменную, которая содержит сумму «ParSokBel». Мне не нужна информация о различных частях или о том, сколько их будет в будущем при использовании этих данных.

На следующем шаге я зациклю решение несколько раз. В некоторых следующих наборах данных может быть более четырех значений в одной строке.

Переменная находится в структуре данных, которая содержит от 61 до 75 атрибутов (изменяется в зависимости от генерации таблицы).

Я действительно не хочу снова импортировать данные, и я не очень уверен, как бы я это сделал, так как некоторые другие атрибуты содержат запятые и должны это делать.

Кто-нибудь, кто имеет представление о том, как я могу решить это? Я не могу показать пример кода, потому что у меня его нет. Я даже не уверен, с чего начать, так как никогда раньше не сталкивался с чем-то подобным.

Я использую MSN SQL Server Express и MSN SQL Server 2014 (оба они используются, но в разных частях процесса производства данных, где Server Express обрабатывает импорт, а Server 2014 является глобальной средой для нашей системы). У меня больше свободы / прав в среде Express, чем в среде Server 2014.

1 Ответ

1 голос
/ 21 марта 2019

Ну, вы можете использовать string_split() в последних версиях SQL Server:

select sum(try_convert(int, ss.val))
from t cross apply
     string_split(parsokbel, ',') ss(val);

Если у вас более старая версия SQL Server, вы можете просматривать веб-страницы для функции split().

...