--不知道你的临时填写的,是不是不满足18位。需要有个区别的地方的
试试:
 Select * from 人员表 where isnumeric(身份号)=0 and datelength(身份号)<>18

解决方案 »

  1.   

    --错了,应该是:
    Select * from 人员表 where isnumeric(身份号)=0 and datalength(身份号)<>18
      

  2.   

    这个问题这样问吧
    身份号
    一类  32010619730128951X
    二类  T2134
    三类  张三
    四类  320106197301289512
    一是找出二类和三类身份号(过去我用SQL.Add('select * from 人员表 where 身份号>999999999999999999 ');,现在不知为何不行了)
    二是找出一类和四类身份号(过去我用SQL.Add('select * from 人员表 where 身份号 between 100000000000000000 and 999999999999999999 ',不知道为何不行了); )