[英]SQL Insert in to TAble B based using data from Table A
我有兩個表,我們稱它們為表A和表B
表A有n列,我對兩個特定的列感興趣,分別稱為C1和C2。 我需要表2中的數據
表B有n列,其中2列是來自表A,C1和C2的相同數據
我需要一個腳本,該腳本將獲取表A中的每一行,並使用表A中的C1和C2在表2中創建新記錄。
表B中其余的列將具有默認值,如DateTime為12/30/1899 12:00:00 AM。 我需要腳本還將默認的DateTime轉換為UTC。 我有一個函數可以做到這一點,但我需要在一個可以是ram的腳本中完成所有這些工作
這是我的DateTime轉換功能
-- Declare the return variable here
DECLARE @utcDateTime datetime
IF @localDateTime IS NOT NULL
BEGIN
SET @utcDateTime = DATEADD(MINUTE, DATEDIFF(MINUTE, GETDATE(), GETUTCDATE()), @localDateTime)
END
-- Return the result of the function
RETURN @utcDateTime
誰能幫助我解決這個查詢並使用函數進行轉換?
正如您所描述的,這似乎是一個基本的插入內容:
insert into tableb(c1, c2)
select c1, c2
from tablea;
如果要將其他列分配給函數的結果,則可以執行以下操作:
insert into tableb(c1, c2, c3, . . .)
select c1, c2,
DATEADD(MINUTE, DATEDIFF(MINUTE, GETDATE(), GETUTCDATE()), @localDateTime), . . .
from tablea;
只需為每列重復該函數或表達式。 (我不確定這是否是進行轉換的最佳方法,但這就是您編寫函數的方式。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.