Ответ 1
Столбцы, заключенные в квадратные скобки, обычно являются ключевыми словами или содержат специальные символы или пробелы.
Какое конкретное имя столбца вы заключили в скобки?
Я добавил поле в sql server 2008 и поставил имя столбца в скобки как [column2]
, но другие имена столбцов не имеют скобок. что означают скобки?
столбец [macro-writer]
должен ли я удалить знак минус и заменить на подчеркивание?
Столбцы, заключенные в квадратные скобки, обычно являются ключевыми словами или содержат специальные символы или пробелы.
Какое конкретное имя столбца вы заключили в скобки?
Скобки - это форма цитирования. Это необходимо только в том случае, если имя столбца содержит пробелы или знаки препинания или конфликтует с зарезервированным словом, но многие мастера просто добавят скобки для всех имен полей, чтобы избежать логики для принятия решения о том, необходимы ли они.
Кронштейны позволяют использовать символы и имена, которые не допускаются, как пробелы, зарезервированные слова и имена, начинающиеся с цифр
недействительный мой столбец, 1column col% umn, table
действительный [мой столбец], [1column], [col% umn], [table]
Конечно, теперь вы можете стать действительно творческими: -)
create table [table]([table] varchar(20))
insert [table] values ('table')
select [table] from [table]
См. связанные вопросы с ответами:
Я бы рекомендовал использовать подчеркивание вместо тире в именах идентификаторов.
Скобки позволяют разграничить имена в SQL Server. Это позволяет делать такие вещи, как использование ключевых слов [count] или включать пробелы [имя моего столбца].
EDIT. Для вашего последующего вопроса, если это новый столбец, и нет риска взлома существующего кода, я бы хотя бы рекомендовал заменить дефис под знаком подчеркивания. Наши собственные внутренние стандарты именования - использование PascalCase (например, MacroWriter), а не подчеркивание.