2011-07-25 35 views
1

这是我写的一个查询,我想可能是我想要的。我认为,通过观察它,你可以看到我想要做的事:在T-SQL中动态分割日期时间字段

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,谢谢!

回答

3

您不能别名字段,然后在SELECT语句的其他部分使用该别名。

尝试:

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

谢谢,不知道为什么,我忽视了。 –