所以让我说我有两个表有五列,其中四列完美匹配,但最后一列有不同的数据类型,一个是char,另一个是uniqueidentifier。但我有这个功能,让我们称它为dbo.x,接受uniqueidentifier并在数据库的其他地方搜索相应的名称。
所以我需要做的是开发这个脚本,将数据从table1复制到table2,并使用该函数转换最后一列。
在做了一些研究之后我尝试了这个(显然没有用):
INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT col1, col2, col3, col4, col5 AS dbo.x(table2.col5)
FROM table2
有人可以给我一些建议吗?
答案 0 :(得分: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 ...
答案 1 :(得分:3)
这个怎么样
INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT col1, col2, col3, col4, dbo.x(col5)
FROM table2