最近碰到了long类型查询问题:

解决方案 »

  1.   

    long 给个默认值?long是用来存大数据量的column,而且针对long字段是有很多的约束的,比如建index,不能用于分布查询等等,你这里的long存的什么数据,为何要给默认值,是不是你用long作为这个字段的字段类型,本身就是一个设计上的疏忽。
      

  2.   

    查这个long类型并不是在表里给它默认值,而是查出来如果它有null就换为(''),比如一般用NVL()来处理一个字段如果有null值就这样处理:NVL(字段,''),
    但这个long类型就不能这样处理,我也想过用case when (long类型字段) is null then '' else (long类型字段) end ,但这样就报错了,不知该如何来处理它?
      

  3.   


    long字段不能这样用的,而且null和''有什么区别呢。
      

  4.   

    肯定有区别,因为查出来是结果集,但结果集中这个long类型的字段可能有值,也可能为null,现在想对有的进行处理(也是有null的就给它一个自己定义的值给它)!有哪个函数可以转换它吗?
      

  5.   

    没有一个函数能够实现,除非把long字段转换为varchar
      

  6.   

    LONG类型列不能被SQL函数所改变,如:substr、instr...
    long类型oracle并不推荐