这适用于 SQL Server 2012。
我们有一些 FTP 文件的导入过程,这些过程被拾取并读入临时表,从那里我们在进入生产之前按摩/检查数据。导致一些问题的领域之一是日期,有些是有效的,有些是错别字,有些只是简单的胡言乱语。
我有以下示例表:
Create Table RawData
(
InsertID int not null,
MangledDateTime1 varchar(10) null,
MangledDateTime2 varchar(10) null,
MangledDateTime3 varchar(10) null
)
Run Code Online (Sandbox Code Playgroud)
我也有一个目标表(比如在生产中)
Create Table FinalData
(
PrimaryKeyID int not null, -- PK constraint here, ident
ForeighKeyID int not null, -- points to InsertID of RawData
ValidDateTime1 SmallDateTime null,
ValidDateTime2 SmallDateTime null,
ValidDateTime3 SmallDateTime null
)
Run Code Online (Sandbox Code Playgroud)
我将以下内容插入到 RawData 表中:
Insert Into RawData(InsertID, MangledDateTime1, MangledDateTime2, MangledDateTime3)
Values(1, '20001010', '20800630', '00000000') -- First is legit, second two are …
Run Code Online (Sandbox Code Playgroud)