根据列中的日期填充代理 Datekey
Populate surrogate Datekey based on Date in a column
我创建了一个table
CREATE TABLE myTable(
DateID INT PRIMARY KEY NOT NULL,
myDate DATE)
然后我想使用 SSIS 中的暂存 table 中的数据填充 table。问题是我不明白如何根据来自分段 table 的传入值生成 DateID。例如:
在暂存 table 插入 2020-12-12 之后,我希望我的 DateID 变为 20201212 等等。
我试图 google 这个问题,但没有找到与我的案例相关的任何内容。 (但我不否认我做得不好)。我该怎么做?
您可以使用持久计算列:
CREATE TABLE myTable (
DateID AS (YEAR(myDate) * 10000 + MONTH(myDate) * 100 + DAY(myDate)) PERSISTED PRIMARY KEY,
myDate DATE
);
Here 是一个 db<>fiddle.
我创建了一个table
CREATE TABLE myTable(
DateID INT PRIMARY KEY NOT NULL,
myDate DATE)
然后我想使用 SSIS 中的暂存 table 中的数据填充 table。问题是我不明白如何根据来自分段 table 的传入值生成 DateID。例如: 在暂存 table 插入 2020-12-12 之后,我希望我的 DateID 变为 20201212 等等。
我试图 google 这个问题,但没有找到与我的案例相关的任何内容。 (但我不否认我做得不好)。我该怎么做?
您可以使用持久计算列:
CREATE TABLE myTable (
DateID AS (YEAR(myDate) * 10000 + MONTH(myDate) * 100 + DAY(myDate)) PERSISTED PRIMARY KEY,
myDate DATE
);
Here 是一个 db<>fiddle.