2015-03-19 80 views
1

我有Product表中以下格式的ProdDate柱:如何转换日期,因此与日期维度表连接

1/2/2015 1:22:19 PM 

我要加入这个日期列从DimDate表中检索的详细信息。两个Date

CONVERT(DATETIME, ProdDate, 101) 
CONVERT(VARCHAR, ProdDate, 101) 
CONVERT(DATETIME, ProdDate, 110) 
CAST(CONVERT(DATETIME, ProdDate, 101) AS VARCHAR(10)) 

我已经试过了上述的转换:我与具有以下日期格式的列名加入日期:

1900-01-01 00:00:00.000 

什么我都试过,但仍然无法正常工作ProdDate列加入,但仍然无法使其工作。任何人都知道工作?

回答

1

日期维度不应该有时间分量。创建单独的日期和时间维度。

对日期维度键列使用int“编码”日期键(例如20150219)或数据类型Date

在后一种情况下,您只需将铸成日期:

cast(ProdDate as Date) 

在前

cast(CONVERT(char(8), ProdDate, 112) as int) 

回复:CAST and CONVERT

+0

其实是有一个日期代码列已经存在即在格式20150219.你建议我使用该列加入?这是否正确: ON CAST(产品日期)=日期代码 – Stephanie 2015-03-19 06:12:17

+0

是的。使用关键列 – 2015-03-19 06:12:36

+0

谢谢我欣赏它。我明天早上试试。 – Stephanie 2015-03-19 06:14:36