读书人

sql语句提示‘=’附近有异常

发布时间: 2012-08-15 16:57:16 作者: rapoo

sql语句提示‘=’附近有错误
Select distinct a.Stcd,b.Stnm, a.ID,a.ParaKind,c.Remark,a.ParaValue,a.CollectTime, iif(a.Imported=0,''否'',''是'') as Imported from (T_Data as a '
+ 'left join T_StationMarker as b on a.Stcd=b.Stcd) inner join T_ParaKind as c on ( a.CollectTime between #%s# and #%s# and c.ParaKind=a.ParaKind ) order by a.CollectTime asc 数据表为sql2005中的表,表中字段imported的类型为int型,运行提示‘=’附近有错误,好像是第一行的等号 ,求解。

[解决办法]
iif是access里面的函数, mssql没有这个的函数,改用case吧
iif(a.Imported=0,''否'',''是'') as Imported from (T_Data as a '
+ 'left join T_StationMarker as b on a.Stcd=b.Stcd)

==>>case when a.Imported=0 then ''否'' else ''是'' end as Imported from ...
另外去掉红色的括号
[解决办法]
建议在SQL中执行一下这些语句,就知道那里出错了呀
[解决办法]
decode函数试试
[解决办法]
decode是oracle里面的,case of可以
[解决办法]
iif(a.Imported=0,''否'',''是'') as Imported from 要改,sql没有iif函数

这样:
(case when a.Imported=0 then ''否'' else ''是'' end) as Imported from

读书人网 >.NET

热点推荐