Разделение поля Datetime на лету в T-SQL - PullRequest
1 голос
/ 25 июля 2011

Это вопрос, который я написал, и подумал, что это то, что я хотел.Я думаю, что, глядя на это, вы можете увидеть, что я пытаюсь сделать:

INSERT INTO tbTime
SELECT DISTINCT
    DATEPART(yyyy, ed),
    DATEPART(mm, ed),
    DATEPART(dd, ed),
    EntireDate AS ed
FROM test

Я в основном копирую поле даты из другой таблицы, но я хочу разделить его на год, месяц,и дневные поля на лету.Вышеупомянутый запрос не будет работать, хотя:

Invalid column name 'ed'.

Я использую SQL Server 2008, спасибо!

1 Ответ

3 голосов
/ 25 июля 2011

Нельзя создать псевдоним поля, затем использовать этот псевдоним в других частях инструкции SELECT.

Попытка:

INSERT INTO tbTime
SELECT DISTINCT
    DATEPART(yyyy, EntireDate),
    DATEPART(mm, EntireDate),
    DATEPART(dd, EntireDate),
    EntireDate AS ed
FROM test
...