[英]How to compute value for one column from existing two columns in a table in t-sql using stored procedure?
[英]T-SQL Add new column in existing table and fill with value from two another existing column
我有一個表test
其中包含以下列: id
, startDate
, stopDate
, startOvertime
, stopOvertime
。
startDate
和stopDate
的類型為datetime和startOvertime
, stopOvertime
的類型為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.