假设我有这两个表,其中有五列,其中四列完全匹配,但最后一个具有不同的数据类型,一个是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


有人可以给我一点建议吗?

最佳答案

您已切换了表达式和别名-语法应如下所示:

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 ...

关于sql - 在Select语句中使用函数进行转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15838408/

10-11 04:46