У меня есть таблица из одного столбца, которая выглядит следующим образом:
Gaming | Austria | 47.9333, 15.1
Hebei | China | 39.8897, 115.275
Это означает, что каждая строка представляет собой одну строку (VARCHAR), которая содержит определенное местоположение, а различные поля разделены каналом (|).
Я хотел бы написать запрос, который возвращает следующее:
------- ---------- ---------------------------------
Gaming Austria Gaming | Austria | 47.9333, 15.1
Hebei China Hebei | China | 39.8897, 115.275
Что означает, что я хочу 3 столбца: для города, для страны и исходный столбец.
Несмотря на то, что разделить город легко (комбинация CHARINDEX и SUBSTRING), добыча страны кажется более сложной. Самое сложное - узнать длину поля страны в строке, чтобы его можно было извлечь с помощью SUBSTRING.
Я понимаю, что мне, возможно, придется написать функцию SPLIT в T-SQL, но я не уверен, как написать такую, которая возвращает данные как запись, а не как таблицу.
Подсказки и / или решения будут более чем приветствоваться.