日期:2014-05-18  浏览次数:20769 次

‘未做’附近有语法错误
CASE b.State when 0 then ''未做'' when 1 then ''下单'' when 2 then ''撤消'' END AS OrderState

麻烦大家帮忙看看这段sql语句有什么错误吗?

------解决方案--------------------
是一个单引号吧
------解决方案--------------------
引号多了
------解决方案--------------------
引号多了
------解决方案--------------------
引号多了
------解决方案--------------------
你的语句里面的3个汉字都是用的双单逗号不对啊,单引号就行
------解决方案--------------------
系统出错,发多了。。X X
------解决方案--------------------
SQL code
CASE b.State when 0 then '未做' when 1 then '下单' when 2 then '撤消' END AS OrderState

------解决方案--------------------
SQL code
        
CASE b.State when '0' then '未做' when '1' then '下单' when '2' then '撤消' END AS OrderState

------解决方案--------------------

SQL code
CASE b.State when 0 then '未做' when 1 then '下单' when 2 then '撤消' END AS OrderState

------解决方案--------------------
很明显引号嘛
------解决方案--------------------
探讨

我改成单引号也不对。。。

------解决方案--------------------
单引号
------解决方案--------------------
先减掉多余引号,不行就检查b.State的值是什么类型的,再相应调整这条语句,比较的结果值是否再加上引号。
------解决方案--------------------
。。大略看下,除了多余的引号,还有 OrderState = 这里错了
最好是先把sql提出来执行看有没有问题。。

------解决方案--------------------
数据类型 标点 空格。。楼主看你的了。
------解决方案--------------------
楼主的引号有明显问题