15

I'm trying to write a column name using "." with no success

sample:

SELECT PrmTable.Value = MAX(Value)
FROM TempTable

or

SELECT MAX(Value) AS PrmTable.Value
FROM TempTable

Any idea ?

Tony
  • 9,672
  • 3
  • 47
  • 75
Liran Ben Yehuda
  • 1,568
  • 3
  • 12
  • 23

3 Answers3

29

Just enclose it in square brackets, and it will work

e.g.

SELECT MAX(Value) AS [PrmTable.Value]
FROM TempTable
AdaTheDev
  • 142,592
  • 28
  • 206
  • 200
13

I would not recommend you use field names which always require you to enclose the name in brackets, it becomes a pain.

Also the period is used in SQL Server to denote schema and database name separators. Using your field name the full name for a field becomes:

[DatabaseName].[SchemaName].[TableName].[FieldName.WithPeriod]

That just looks odd and would probably confuse other DBAs. Use an underscore to separate words in your field names, it's a much more common style:

[DatabaseName].[SchemaName].[TableName].[FieldName_WithUnderscore]
Tony
  • 9,672
  • 3
  • 47
  • 75
3
SELECT [PrmTable.Value] = MAX(Value)

FROM TempTable

or

SELECT MAX(Value) AS [PrmTable.Value]
Akram Shahda
  • 14,655
  • 4
  • 45
  • 65