数据表A里面有Age字段 定义为VarChar(5)类型,怎么判断出来 Age 这一列数据中有没有非数字类型数据比如:
Name  Age
Chen  25
Xiao  ab
Wang  30
这样的数据 怎么检索出来 Xiao ab 这行数据.用cast 转换ab 为Integer 类型报错的.后台数据库为DB2,那位出手相助阿.

解决方案 »

  1.   

    不要光顶 给个思路阿,DB2不像SQLServer 一样灵活.
      

  2.   

    插入的时候先判断, 取出的时候再try 出异常按零处理.
      

  3.   

    插入的时候先 try { Integer.parseInt(age) }
    catch (NumberFormatException ne) {
        //提示输入有误 return;
    }这样取出来的时候就不用再try , 直接 int theAge = Integer.parseInt(age);
      

  4.   

    如果用SQL来做Select Cast(Age) From Student 这样来写DB2会报错的 不能通过。
      

  5.   

    不要用SQL做, 用程序,如果想用SQL做,那么修改表结构吧, 用整数型
      

  6.   

    pauliuyou(paul) ( ) 信誉:100 
      现在我想用SQL语句来写 因为做成存储过程可能更方便一些,有利于团队使用。能给点SQL的提示吗?
      

  7.   

    呵呵, 这么小的一个字段, 没有必要存储过程
    插入的时候注意一下, 保证数据正确就可以了, 另外不妨再加上 age > 0 && age < 200