Использовать результат выражения (например, месяц) в качестве имени столбца в SQL Express

Я пишу выражение SQL, и я хотел бы использовать текущий месяц в качестве имени / заголовка столбца.

Код:

Select MONTH(GETDATE()) AS MONTH(GETDATE())
FROM SomeTable;

Ошибка:

Ошибка 102: неверный синтаксис рядом с GETDATE.

Это для школьного проекта, и я не уверен, возможно ли это. Если это так, я бы хотел преобразовать этот номер месяца в фактическое название месяца. Заранее спасибо.

О, и я использую LinqPad для тестирования запросов на удаленной БД и SQL Express Server (Transact-SQL).

Ура, Линдсей

2 ответа

Решение

Я думаю, вы не можете использовать функцию в псевдониме столбца, если вы попытаетесь, то получите эту ошибку неправильный синтаксис "Ожидается ID, QUOTED_ID, STRING или TEXT_LEX", что означает, что текст псевдонима должен быть жестко закодирован.

Я бы посоветовал вам использовать ваше интерфейсное приложение, чтобы установить текущий месяц в качестве заголовка, вместо того, чтобы полагаться на внутренний запрос SQL.

Псевдоним для ваших вычисляемых столбцов не должен содержать никаких функций - только текст:

SELECT
   MONTH(GETDATE()) AS 'Month'
FROM 
   dbo.SomeTable
Другие вопросы по тегам