У меня есть один столбец таблицы, которая выглядит следующим образом:Split строка возвращает запись
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, но я не уверен, как написать тот, который возвращает данные как запись, а не как таблицу.
Подсказки и/или решения будут более чем приветствуются.
Ugh, это ужасный дизайн стола :(Надеюсь, вы сможете изменить его в какой-то момент. –
да, определенно жаль слышать, что вам нужно работать с этим –