本帖最后由 wdzczy 于 2013-01-08 13:36:04 编辑

解决方案 »

  1.   

    那你的数据要convert(numeric(18,4))
      

  2.   

    你最好把你的正常数据贴出来,然后再贴一个你期望的结果样式
    你的需求看不明白,而且你的语句写错了,都没case
      

  3.   

    SELECT  CASE FWinningPrice WHEN 0.0000 THEN '*****' WHEN 0 THEN '*****' WHEN NULL THEN '*****'  END AS WinningPrice from vw_V1--那我就重新写一下
    执行完上面的语句,查询的结果就变成这样了
    大家仔细看一下图片,那些NULL的值其实是有正常数据的,我要求把那些NULL的值正常的显示出来的同时值为0或者0.0000为****
    这回看明白了 亲?谢谢您了
      

  4.   


    --看看我的理解能力是不是有所提升~呵呵
    SELECT  CASE when FWinningPrice=0 THEN '*****' 
    WHEN FWinningPrice is null THEN '*****' 
    else FWinningPrice  END AS WinningPrice from vw_V1
      

  5.   


    哈哈 不好意思 是我后加的有问题,但是 现在还有一个问题就是,提示这个错误:从数据类型 varchar 转换为 numeric 时出错。我的数据类型是 numeric(18,4)
      

  6.   

    FWinningPrice的数据类型是numeric(18,4)
      

  7.   

    哦对,忘记数据类型了SELECT  CASE when FWinningPrice=0 THEN '*****' 
    WHEN FWinningPrice is null THEN '*****' 
    else convert(varchar(50),FWinningPrice)  END AS WinningPrice from vw_V1