簡體   English   中英

T-SQL在現有表中添加新列,並從另一個現有列填充值

[英]T-SQL Add new column in existing table and fill with value from two another existing column

我有一個表test其中包含以下列: idstartDatestopDatestartOvertimestopOvertime

startDatestopDate的類型為datetime和startOvertimestopOvertime的類型為time(7)

我想創建之日起,部分新列stopDate和時間部分startOvertime並復制到一個新創建的列test-fill

如果我使用公式(stopDate,startOvertime),則新的datetime列的值不正確。 有什么建議?

如果您始終希望新列包含此信息,則可以使用計算列:

alter table test add test-fill as
    (cast(cast(startDate as date) as datetime) + cast(overtime as datetime));

這實際上並沒有添加新列。 它只是在您需要時計算值。

這應該這樣做:

alter table [table-name] add [test-fill] datetime

update [table-name]
set [test-fill] = cast(startDate as date) + cast(stopOvertime as datetime)

首先,我們向表中添加列,然后我們使用數據更新創建的單元格。

ALTER TABLE TEST ADD NEWCOL DATETIME;
UPDATE TEST
SET NEWCOL = CAST((CAST(CAST(stopDate as date) as varchar(10))+' '+CAST(CAST(startOvertime as time) as varchar(10))) as DATETIME);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM