第 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 行: '=' 附近有语法错误。
...全文
167 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
内容概要:本文研究了基于QLearning自适应强化学习的PID控制器在自主水下航器(AUV)中的应用,通过Matlab代码实现了对水下机器人的动力学建模与运动控制。重点探讨了将强化学习算法QLearning与传统PID控制相结合的方法,以提升AUV在复杂、时变及非线性水下环境中的自适应控制能力。文中系统分析了AUV的运动学与动力学特性,阐述了传统PID参数整定面临的挑战,并提出采用QLearning算法在线动态优化PID控制器的比例、积分和微分参数,从而实现对系统误差、响应速度、超调量等性能指标的综合优化。通过Matlab仿真实验验证了该复合控制策略在轨迹跟踪精度、抗外部干扰能力和系统鲁棒性方面的显著优势,充分展示了强化学习在智能水下装备自主控制领域的可性和应用潜力。; 适合人群:具备自动控制理论基础、强化学习基础知识及Matlab编程能力的研究生、科研人员和自动化、海洋工程、机器人等相关领域的技术研发人员。; 使用场景及目标:①用于水下机器人、无人潜航器等智能移动装备的高精度运动控制系统设计与开发;②开展强化学习与经典控制理论融合创新的教学案例与科学研究;③解决传统固定参数PID控制器在面对模型不确定性和环境扰动时适应性差、控制性能下降的关键问题。; 阅读建议:建议读者结合提供的Matlab代码进仿真实践,重点关注QLearning算法中状态空间、动作空间的设计逻辑以及奖励函数的构建原则,深入理解其在参数寻优过程中的作用机制,并可通过调整环境参数和初始条件来测试算法的鲁棒性与泛化能力。

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧