簡體   English   中英

SQL使用表A中的數據插入TAble B中

[英]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.

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