日期:2014-05-17  浏览次数:20472 次

这是SQLSERVER2012的bug吗?

  ;with t1 as (
  select 1 c1,2 c2,3 c3
  )
  Select  Concat( c1 , c2 , c3) from t1

 ;with t1 as (
  select 1 c1,2 c2,3 c3
  )
  Select  { fn Concat( c1 , c2 , c3)} from t1
  --Concat 函数要求有 2 个参数。

上下2个sql语句,
上面可以正常执行返回结果 123
下面会报Concat 函数要求有 2 个参数。

在创建视图的时候Concat( c1 , c2 , c3) 会被强制转换成 { fn Concat( c1 , c2 , c3)} 导致出现错误,无法保存。
这是sqlserver2012的bug,还是我哪里没弄对?

------解决方案--------------------
concat是MSSQL2012新加的函数吗?
还没用过2012呢,只知道MYSQL有这个函数。
------解决方案--------------------
fn Concat源代码是什么?
------解决方案--------------------
 select @@VERSION
 go
 create view vw_test
 as 
 with t1 as (
  select 1 c1,2 c2,3 c3
  )
  Select  Concat( c1 , c2 , c3) as col from t1
 go
 select * from vw_test 

我的数据库是Microsoft SQL Server 2012 RC0 - 11.0.1750.32没有问题啊,可以正常创建VIEW
------解决方案--------------------
会被强制转换成 { fn Concat( c1 , c2 , c3)} ??
能不能上个截图看看是什么情况?