当前位置: 代码迷 >> Sql Server >> 这个为什么提示语法异常
  详细解决方案

这个为什么提示语法异常

热度:43   发布时间:2016-04-27 16:40:20.0
这个为什么提示语法错误?
select   xmbh,   xmmc,   cast(fbsj   as   varchar)   FROM   tdcrjbxx   WHERE   (iffb   =   '1 ')  
union   all  
(select   CAST(id   AS   VARCHAR(50))   xmbh,title   xmmc,addtime   fbsj   FROM   tdjy_news   where   cataid=13)

上面的没有错

但是这样就报错了

select   *   from  
(
select   xmbh,   xmmc,   cast(fbsj   as   varchar)   FROM   tdcrjbxx   WHERE   (iffb   =   '1 ')  
union   all  
(select   CAST(id   AS   VARCHAR(50))   xmbh,title   xmmc,addtime   fbsj   FROM   tdjy_news   where   cataid=13)
)

WHY?

------解决方案--------------------
select * from
(
select xmbh, xmmc, cast(fbsj as varchar) as col1 FROM tdcrjbxx WHERE (iffb = '1 ')
union all
(select CAST(id AS VARCHAR(50)) xmbh,title xmmc,addtime fbsj FROM tdjy_news where cataid=13)
) t
------解决方案--------------------
cast(fbsj as varchar) fbsj
  相关解决方案