Удаление [] вокруг столбца в SQL Server 2005
когда я переименовал столбец в SQL Server, я случайно вставил квадратные скобки вокруг столбца. Фактическое утверждение, которое я использовал, было:
SP_RENAME 'customer.[EMPLOYEENAMES]', '[EMPLOYEENAME]', 'COLUMN'
Но когда я пытаюсь получить данные, которые он просто говорит, и я даже пытался с квадратными скобками, он дает ту же ошибку
Недопустимое имя столбца '[EMPLOYEENAME]'.
Как удалить квадратные скобки.
Ответы
Ответ 1
Это приведет к восстановлению порядка в вашей базе данных:
EXEC SP_RENAME 'customer."[EmployeeName]"', 'EmployeeName','COLUMN'
Вы не можете использовать двойные скобки, потому что он возвращает синтаксическую ошибку. Цитаты обходят это ограничение.
Ответ 2
Поскольку у вас теперь есть столбец с квадратными скобками в самом имени, вы можете получить доступ к этому столбцу:
SELECT [[EmployeeName]]]
FROM Customer
Да, все эти дополнительные квадратные скобки немного громоздки:)
Итак, я бы переименовал вашу колонку еще раз, чтобы удалить скобки:
EXEC SP_RENAME 'customer.[[EmployeeName]]]', 'EmployeeName','COLUMN'
Итак, вы можете ссылаться на "обычно":
SELECT EmployeeName
FROM Customer
Ответ 3
Ни одна из этих альтернатив не работала для меня, поэтому мне пришлось создать новый столбец с правильным именем, установить параметр newName = [[badName]]], а затем отбросить ошибочно названный столбец.