select *  from employ  where empcode >'10' 
  
  说明:empcode 为 varchar 型
       出现的结果是:
       empcode 
       
         2
         3
         4
         .
         .
         .
         10
         11
         12      
         .        
         .    我只想得到10以上的结果
   怎么解决?

解决方案 »

  1.   

    select *  from employ  where cast(empcode as int)>10
      

  2.   

    若楼长 使用字段符合合法数字,用数字排序可解决
    若有不符合数字的情况,舍弃上面做法, viena(维也纳nn-实心木头人) 提出的可以满足.
    假设字段定长4位,而输入字段为2位,把输入数据初始化"00" + input
    要是做初始化函数的时候用问题再提问吧
      

  3.   

    如果该字段都是数字,最好用数值型字段,这样速度更快。如果界面中需要字符,转换一下就好了,这与楼主的问题无关,只是个建议。
    如果确实需要varchar 型,用这个方法也可以:Where Right('0' & empcode),2) > '10'
    注意,上面是假设empcode最长2位,如果更长,可以自行修改。
      

  4.   

    上面的语句没考虑语法问题,可能要用chr(34) & "0" & chr(34) 替换'0',这些看你的环境了……