Разделение данных в отдельную формулу столбцов

Мы используем инструмент внешней викторины для студентов, к которым они обращаются по ссылке в нашей LMS. Когда они нажимают на ссылку, мы можем передавать параметры для StudentID, CourseID, ModuleID и т. Д. Инструмент викторины позволяет нам записывать эту переменную в один столбец, чтобы он мог выглядеть как 034-23-12 или Student034-Course23-Module12 и т. Д.

Используя Zapier, мы можем получить результаты, добавленные в нашу базу данных MSSQL, а затем результаты могут появиться в учетной записи студента.

Однако для выполнения этой работы нам нужно иметь возможность разделить запись одного столбца на 3 столбца – StudentID, CourseID и ModuleID

QuizRecord StudentID CourseID ModuleID 034-23-12 34 23 12 

Любая помощь с этой формулой будет высоко оценена.

Вы можете использовать 'parseame', поскольку у вас есть 4 (или меньше) раскола

Объявить @data varchar (20)

 Set @data='034-23-12' Select parsename(replace(@data,'-','.'),1), parsename(replace(@data,'-','.'),2), parsename(replace(@data,'-','.'),3), parsename(replace(@data,'-','.'),4) 

Пример данных

  DECLARE @Table TABLE (QuizRecord varchar(100)) INSERT INTO @Table SELECT '034-23-12' UNION ALL SELECT '035-24-13' UNION ALL SELECT '036-25-14' 

Запрос разбиения одного столбца на несколько

 SELECT * ,REPLACE(SUBSTRING(QuizRecord, 0, CHARINDEX('-', QuizRecord)), 0, '') AS StudentID ,REPLACE(SUBSTRING(QuizRecord, CHARINDEX('-', QuizRecord), CHARINDEX('-', QuizRecord)), '-', '') AS CourseID ,REVERSE(SUBSTRING(REVERSE(QuizRecord), 0, CHARINDEX('-', REVERSE(QuizRecord)))) AS ModuleID FROM @Table 

результат

 QuizRecord StudentID CourseID ModuleID -------------------------------------------- 034-23-12 34 23 12 035-24-13 35 24 13 036-25-14 36 25 14 
Interesting Posts

SQL SERVER: Экспорт запроса в качестве объекта JSON

Найти имя столбца из всех таблиц и всех баз данных с указанным именем столбца SQL Server

Индекс сервера Sql для параметризованного запроса

Разница между sp_spaceused и DataLength SQL Server

SQL-рекурсивный udf всегда возвращает null

Веб-сайт торговой марки ECommerce: поиск программных продуктов

Проблемы при выполнении SP, который имеет (true) цикл в SQL SERVER

Простое присваивание переменной SQL только возвращает одно письмо: почему?

Хранимая процедура SQL Server – вставка новых строк

SQL Присоединяется к частичным данным столбца (SQL Server)

Исключить некоторые записи из совокупной функции

выбор из любого из двух столбцов в SELECT

Использование существующего ключа кандидата или нового составного ключа для первичного ключа

Как я могу добавить ALTER COLUMN к NOT NULL, когда индексируется столбец

Как проверить, соответствует ли моя модель LINQ-SQL структуре базы данных?

Давайте будем гением компьютера.