MS SQL 服务器视图不允许 CONCAT

MS SQL Server View not allowing CONCAT

MS SQL 服务器 2014。

我有一个 SQL 语句可以正常工作:

SELECT CONCAT (
        CAST(T1.[F1] AS INTEGER),
        CAST(T1.[F2] AS INTEGER)
        ) AS F3 
FROM mytable AS T1

如果我随后将其放入视图,并尝试 运行 我收到错误:

Operand data type int is invalid for concat operator

F1 和 F2 都包含小数,但我希望它们连接起来,例如:

F1 = 123.00000
F2 = 456.00000

因此F3 = 123456

为什么视图不允许这样做,有解决方案吗?

请像下面这样使用concat函数

SELECT {fn CONCAT('123', '456') }

不要使用视觉设计器。

它们是 buggy 在这种情况下转换

    SELECT CONCAT (
        CAST(T1.[F1] AS INTEGER),
        CAST(T1.[F2] AS INTEGER)
        ) AS F3 
FROM mytable AS T1

SELECT { fn CONCAT(CAST(T1.F1 AS INTEGER), CAST(T1.F2 AS INTEGER)) } AS F3
FROM     mytable AS T1

调用高度受限的ODBC escape sequence version of the function(只接受两个必须是字符串的参数)

只需使用标准的新查询 window 来执行您的 CREATE VIEW/ALTER VIEW/SELECT FROM 操作,您就不会遇到这个问题。