Ex.T-SQL: отдельная строка в нескольких столбцах
Column 1:
| word1 word2 word3 word4 |
в
Col 1: Col 2: Col 3: Col 4:
| word1 | word2 | word3 | word |
Можно ли отделить различные слова или фразы из строки в несколько столбцов? Все слова и фразы в строках обычно разделяются двойными пробелами, больше ничего. Есть ли предопределенная функция, которую я могу использовать уже доступную с SQL Server, например CAST или INTERSECT, или мне нужно написать свой собственный?
Максимальное количество столбцов - 4, поэтому всегда будет 4 столбца, но если строка содержит только 3 слова, то для этой строки будут использоваться только 3 новых столбца. Ваша функция очень хорошая, но могу ли я ввести имя столбца в качестве вставленного значения, или мне нужно записать каждое слово один за другим? Каждая строка из исходного столбца имеет различный набор слов для каждой строки, а иногда слова меняются каждый день или неделю, поэтому я не могу переписывать все слова каждый раз, так что есть способ заставить вашу функцию автоматически извлекать слова из оригинальная колонка? –
Если будет максимум 4 столбца, я бы использовал ответ Джона, поскольку это было бы излишним. Я не следую тому, что вы имеете в виду, если бы вам пришлось записывать каждое слово, так как работы будут автоматически разбиты на вас. Вы можете быть отброшены, потому что я назвал столбец word1, word2 и т. Д. Так что я только что обновил и изменил это на Column, надеюсь, что это устранит путаницу. – Matt