SELECT ISNULL(AA,""),ISNULL(BB,"") FROM TABNAME 搞定

解决方案 »

  1.   

    to sindia:
    不对把,isnull(aa,"")是如果aa为NULL,则显示为""
      

  2.   

    第一个SQL语句不对,ISNULL只检测时候为NULL,但是数据为0时,ISNULL()为False,所以不符合要求。
    正确的应该是:
    select case aa when 0 then "" else "1" end,case bb when 0 then "" else "1" end from TableName
      

  3.   

    数据库里是数值0(float类型),想用SQL语句得到空字符串,如何解决?如:
    字段:aa  bb  cc  dd
    数值:0    0  1.8  0 
    数值:2.2  0  4.6 3.9得到:
    字段:aa  bb  cc    dd
    数值:''   '' 1.8    ''
    数值:2.2  ''  4.6  3.9有劳楼上的大狭了。
      

  4.   

    select case aa when 0 then "" else "1" end,case bb when 0 then "" else "1" end,case cc when 0 then "" else "1" end,case dd when 0 then "" else "1" end from TableName
    如果你用的数据库是Oracle的话,会更简单一点,直接用函数 decode 就行了。
      

  5.   

    用的是SQLSERVER,不是ORACLE 请楼上的测试一下,得到的结果是不对的。
    等于0的显示的还是0,和直接用SELECT AA,BB,CC,DD FROM TABLENAME得到的结果一样。
      

  6.   

    好了。
    select case aa when 0 then "" else str(aa,2,1) end,case bb when 0 then "" else str(bb,2,1) end from TableName
    str 函数的用法你知道吧,str(要转换的数字,转换后的总长度,转换后的小数位数),其中的长度和小数位数就看你怎么取舍了。
      

  7.   

    select '' as col1 from table where col1=0
      

  8.   

    select case aa when 0 then "" else aa end,case bb when 0 then "" else bb end from TableName
      

  9.   

    to firetoucher:
    这个SQL语句看起来是挺不错的,可惜实际上它会把所有的记录都显示出来,与select * from TableName 没有什么差别。