2013-04-05 63 views
2

假設我有這兩個包含五列的表,其中四個完美匹配,但最後一個具有不同的數據類型,一個是char,另一個是uniqueidentifier。但是我有這個函數,我們稱之爲dbo.x,它接受uniqueidentifier並在數據庫的其他地方搜索相應的名稱。使用SELECT語句中的函數進行轉換

所以我需要做的是開發這個腳本,它將數據從table1複製到table2並使用函數轉換最後一列。

做了一些研究之後,我想這(這顯然沒有奏效):

INSERT INTO table1 (col1, col2, col3, col4, col5) 
SELECT col1, col2, col3, col4, col5 AS dbo.x(table2.col5) 
FROM table2 

任何人都可以給我從這裏到走一點建議嗎?

回答

3

您已切換的表達和別名 - 語法應該如下:

INSERT INTO table1 (col1, col2, col3, col4, col5) 
SELECT col1, col2, col3, col4, dbo.x(table2.col5) AS col5 
FROM table2 

在一般情況下,當您使用select語句的表達,想給所獲得的柱的名稱,你首先寫出表達式,然後寫入其別名,例如

SELECT <expression> AS <column-name> 
FROM ... 
+0

哦,對了。咄。非常感謝你! – Jfabs 2013-04-05 17:53:50

3

這個怎麼樣

INSERT INTO table1 (col1, col2, col3, col4, col5) 
SELECT col1, col2, col3, col4, dbo.x(col5) 
FROM table2