SQL資料表批量插入日期值 datetime型別

2021-07-22 07:37:42 字數 1302 閱讀 2014

客戶有個要求是,每個專案要有開始時間和結束時間,在這個範圍內,才能夠報銷費用。所以在project 表中需要批量匯入資料到project_begin_date,project_end_date欄位中。

如下圖是客戶給出的excel表。

首先是整理excel表,如下圖所示。

在excel表的d2處可以寫這樣的函式 =("insert into temp_time values (n'"&a2&"', cast('"&b2&"' as datetime), cast('"&c2&"' as datetime));")  ,然後往下拉,就可以批量形成insert語句,到這裡不知道什麼原因,日期值格式變成數值格式了。

後來我想了個辦法,把 - 或 / 都替換成//  ,如下所示。

將d列複製到記事本,再替換成/   

然後是建立臨時表temp_time存放**,開始時間,結束時間。temp_time 與project 有共同的字段code,這樣就可以更新資料到project表

--建立臨時表

create table temp_time(

code nvarchar(50) null,

begintime datetime null,

endtime datetime null

)

執行上面的insert語句

然後將temp_time表更新到project表,語句如下。

update project set project_begin_time = temp_time.begintime, project_end_time = temp_time.endtime from project 

inner join temp_time on project_code = temp_time.code

插入資料表

3.1.1 插入表資料 一旦建立了資料庫和表,下一步就是向表裡插入資料。通過insert或replace語句可以向表中插入一行或多行資料。語法格式 insert low priority delayed high priority ignore into tbl name col name,valu...

SQL批量插入資料

select frompersonsp 批量插入 insert intopersonsvalues bx9 z 上海 松江 2 bx1 z 上海 松江 2 bx2 z 上海 松江 2 bx3 z 上海 松江 2 bx4 z 上海 松江 2 bx5 z 上海 松江 2 bx6 z 上海 松江 2 bx...

批量更新資料表

幾天中午系統中斷了幾分鐘,原因是資料庫down了。當時發現系統中有大量的鎖,幾乎都是來自生產使用者的,被鎖的物件和語句都是平時每天都要千百次使用的。為什麼會出現這麼大面積的鎖,原因到現在都還沒弄明白。只是事後回憶起大量的鎖中有條update的語句,是有個同事在批量更新資料,而是是關聯了其他表的更新 ...