根据列中的日期填充代理 Datekey

Posted

技术标签:

【中文标题】根据列中的日期填充代理 Datekey【英文标题】:Populate surrogate Datekey based on Date in a column 【发布时间】:2021-01-06 18:18:11 【问题描述】:

我已经创建了一个表

CREATE TABLE myTable(
DateID INT PRIMARY KEY NOT NULL,
myDate DATE)

然后我想使用 SSIS 使用临时表中的数据填充表。问题是我不明白如何根据临时表的传入值生成 DateID。例如: 在 2020-12-12 插入临时表后,我希望我的 DateID 变为 20201212 等等。

我试图用谷歌搜索这个问题,但没有找到与我的案例相关的任何内容。 (但我不否认我做得不好)。我该怎么做?

【问题讨论】:

【参考方案1】:

您可以使用持久化计算列:

CREATE TABLE myTable (
     DateID AS (YEAR(myDate) * 10000 + MONTH(myDate) * 100 + DAY(myDate)) PERSISTED PRIMARY KEY,
     myDate DATE
);

Here 是一个 dbfiddle。

【讨论】:

以上是关于根据列中的日期填充代理 Datekey的主要内容,如果未能解决你的问题,请参考以下文章

根据另一列中的行自动填充第二列中的数据

在 pandas 中,如何根据一列中的唯一值创建列,然后根据另一列中的值填充它?

根据数字填写列

根据另一列中的值填充多列中的单元格

如何根据excel中的另一个单元格值自动填充两个不同列中的数据

Hive:根据特定列中的唯一值填充其他列