MS SQL Server 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
为什么视图不允许这样做并且有解决方案?
不要使用视觉设计师。
它们是buggy,在这种情况下是转换
SELECT CONCAT (
CAST(T1.[F1] AS INTEGER),
CAST(T1.[F2] AS INTEGER)
) AS F3
FROM mytable AS T1
to
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(仅接受两个必须为字符串的参数)
只需使用标准的新查询窗口来执行CREATE VIEW
/ALTER VIEW
/ SELECT FROM
操作,就不会遇到此问题。
请使用如下的concat函数
SELECT {fn CONCAT('123','456')}] >>