#sql #sql-server-2008
#sql #sql-server-2008
Вопрос:
Я пытаюсь написать имя столбца, используя «.», но безуспешно
пример:
SELECT PrmTable.Value = MAX(Value)
FROM TempTable
или
SELECT MAX(Value) AS PrmTable.Value
FROM TempTable
Есть идеи?
Комментарии:
1. попробуйте заключить его в двойные кавычки — ВЫБЕРИТЕ MAX (Значение) КАК «PrmTable. Значение»
Ответ №1:
Просто заключите его в квадратные скобки, и это сработает
например
SELECT MAX(Value) AS [PrmTable.Value]
FROM TempTable
Ответ №2:
Я бы не рекомендовал вам использовать имена полей, которые всегда требуют, чтобы вы заключали имя в квадратные скобки, это становится проблемой.
Также точка используется в SQL Server для обозначения разделителей имен схемы и базы данных. Используя ваше имя поля, полное имя поля становится:
[DatabaseName].[SchemaName].[TableName].[FieldName.WithPeriod]
Это просто выглядит странно и, вероятно, сбило бы с толку другие базы данных. Используйте подчеркивание для разделения слов в именах полей, это гораздо более распространенный стиль:
[DatabaseName].[SchemaName].[TableName].[FieldName_WithUnderscore]
Ответ №3:
SELECT [PrmTable.Value] = MAX(Value)
FROM TempTable
or
SELECT MAX(Value) AS [PrmTable.Value]