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

Мы используем инструмент внешней викторины для студентов, к которым они обращаются по ссылке в нашей 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

Не удалось выполнить хранимую процедуру с использованием Java и JDBC на SQL-сервере

выберите записи, которые не имеют определенных значений в 2 столбцах

Как определить, является ли строка датой или датой?

Как я могу запросить учетную запись Active Directory с пользователем SQL Server?

«Свойство connectionononquery не было инициализировано»

Различия плана выполнения между Select и View

Как создать временную таблицу в SQL Server, когда у меня есть большой список идентификаторов

SQL Server sys.databases vs sysdatabases?

Каков самый простой способ создать последовательность с первым подходом к коду сущности?

Найдите самые популярные места

Матч SMALLMONEY с использованием группового символа%

Почему SAS, Proc SQL, не выдает ошибку, когда я создаю уже существующие таблицы

Самый быстрый способ получить идентификатор или вставить значение из Microsoft Sql

Преобразование Varbinary для загрузки изображения MVC asp.net

MS-SQL / ColdFusion: ошибка таинственной базы данных: объект закрыт

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