SELECT JP_WIP_LOG.WIP_LOG_ID,
         JP_WIP_LOG.TEST_MODE,
       CASE
          WHEN INSTR(TEST_MODE, '-') = 0 THEN
           TEST_MODE
          ELSE
           '---'
       END CASE,
       JP_WIP_LOG.ROUTING_MODIFIER,
FROM   JP_WIP_LOG; CASE
          WHEN INSTR(TEST_MODE, '-') = 0 THEN
           TEST_MODE
          ELSE
           '---'
       END CASE,
出来的值想用 unit命名
as unit   as 'unit' 都不对!

解决方案 »

  1.   

    select case when C_BEFORERECFLAG = '1' then '88' else '99' end  before from t_Fin_Chargebill 
    我这样写是可以的,不明白你的为什么不行。
      

  2.   

    select CASE
              WHEN INSTR(TEST_MODE, '-') = 0 THEN
               TEST_MODE
              ELSE
               '---'
           END as c,acc_nbr from test
      

  3.   

    as "unit" sql server中关键字用[unit]
      

  4.   

    duanzilin (10)、 kittykula (10)、 确实知识扎实啊!
      

  5.   

    还是不行:
    SELECT 
           CASE
              WHEN INSTR(TEST_MODE, '-') = 0 THEN
               TEST_MODE
              ELSE
               '---'
           END CASE as "ddd"
    FROM   JP_WIP_LOG
      

  6.   

    love_2008(love2008) 说的对  谢谢!好了