第 1 行: '=' 附近有语法错误。

yybird87 2008-02-26 04:29:42
SELECT DISTINCT sserver,count(id) as t FROM (SELECT a.id,iif(right(left(a.sserver,3),1)='[',left(a.sserver,2),iif(right(left(a.sserver,4),1)='[',left(a.sserver,3),left(a.sserver,4))) AS sserver FROM list as a WHERE isSold=0) GROUP BY sserver ORDER BY sserver


在ACCESS的时候没错! 到sql server里面就报错了

第 1 行: '=' 附近有语法错误。
...全文
92 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ojuju10 2008-02-26
Mssql 不支持IIf,改用别的语法吧
回复
dawugui 2008-02-26
你的逻辑没看懂.

帮顶.
回复
dawugui 2008-02-26
你iif的用法不对.

IIf
返回由逻辑测试确定的两个数值或字符串值之一。

语法
数字
IIf(«Logical Expression», «Numeric Expression1», «Numeric Expression2»)

如果 «Logical Expression» 取值为 TRUE,则此函数返回 «Numeric Expression1»,否则,返回 «Numeric Expression2»。

字符串
IIf(«Logical Expression», «String Expression1», «String Expression2»)

如果 «Logical Expression» 取值为 TRUE,则此函数返回 «String Expression1»,否则,返回 «String Expression2»。

注释
只有当 «Logical Expression» 的值为零时,才认为该表达式是 FALSE。任何其它值都被解释为 TRUE。

不推荐用 Iif 函数基于搜索条件创建成员的集合。请改用 Filter 函数根据逻辑表达式评估指定集合中的每个成员,然后返回成员的子集合。

示例
数字
如果 Measures.CurrentMember 是空单元,则下面的示例返回 0,否则返回 1:

IIf(IsEmpty(Measures.CurrentMember), 0, 1)

字符串
如果 Measures.CurrentMember 是空单元,则下面的字符串返回字符串 "Yes",否则返回字符串 "No":

IIf(IsEmpty(Measures.CurrentMember), "Yes", "No")

回复
chuifengde 2008-02-26
--access中的iif相当于sql中的case when
SELECT DISTINCT sserver,count(id) as t
FROM
(SELECT a.id,CASE WHEN substring(a.sserver,3,1)='[' THEN left(a.sserver,2) ELSE CASE WHEN substring(a.sserver,4,1)='[' THEN left(a.sserver,3) ELSE left(a.sserver,4) END END AS sserver
FROM list as a
WHERE isSold=0) aa
GROUP BY sserver ORDER BY sserver
回复
toddzst 2008-02-26
iif是Access数据库中的,SQL中当然有问题,因为它没有,在SQL中可以用case when代替
回复
gahade 2008-02-26
貌似楼主的需求可以用case when来实现

iif没用过
回复
pt1314917 2008-02-26
iif(right(left(a.sserver,3),1)='['

这什么语言来的?
回复
kelph 2008-02-26
sqlserver不支持iif
回复
michaelgy 2008-02-26
老乌龟把 MDX 也拉出来了 节棍!!
回复
yinzhen 2008-02-26
用Case when 就可以了
回复
xp1056 2008-02-26
UP
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-02-26 04:29
社区公告
暂无公告