USE CanvasWarehouse GO IF OBJECT_ID(N'[dbo].[Canvas-course_score_dim-staging]', N'U') IS NOT NULL BEGIN DROP TABLE [dbo].[Canvas-course_score_dim-staging] END ; CREATE TABLE [dbo].[Canvas-course_score_dim-staging] ( id bigint NOT NULL , canvas_id bigint NOT NULL , enrollment_id bigint NOT NULL , created_at varchar(max) NULL , updated_at varchar(max) NULL , workflow_state varchar(256) NOT NULL ) GO BULK INSERT [dbo].[Canvas-course_score_dim-staging] FROM 'G:\Canvas\unpackedFiles\course_score_dim.txt' WITH ( FIRSTROW = 2 , FIELDTERMINATOR = '\t' --, ROWTERMINATOR = '\r\n' -- This is due to unix encoding, the row terminator is not \n , ROWTERMINATOR = '0x0A' , KEEPNULLS ) GO IF OBJECT_ID(N'[dbo].[Canvas-course_score_dim]', N'U') IS NOT NULL BEGIN DROP TABLE [dbo].[Canvas-course_score_dim] END ; CREATE TABLE [dbo].[Canvas-course_score_dim] ( id bigint NOT NULL , canvas_id bigint NOT NULL , enrollment_id bigint NOT NULL , created_at datetime NULL , updated_at datetime NULL , workflow_state varchar(256) NOT NULL ) GO INSERT INTO [dbo].[Canvas-course_score_dim] SELECT id , canvas_id , enrollment_id , CASE WHEN created_at IS NULL THEN NULL WHEN LEFT(created_at, 4) < 1900 THEN NULL ELSE CAST(created_at AS datetime) END as created_at , CASE WHEN updated_at IS NULL THEN NULL WHEN LEFT(updated_at, 4) < 1900 THEN NULL ELSE CAST(updated_at AS datetime) END as updated_at , workflow_state FROM [dbo].[Canvas-course_score_dim-staging] IF OBJECT_ID(N'[dbo].[Canvas-course_score_dim-staging]', N'U') IS NOT NULL BEGIN DROP TABLE [dbo].[Canvas-course_score_dim-staging] END ;