表tb中有一字段 (int) num
num为以下几种特定类型
     51301 
     51302
     51303
     51304
     51305
     51306
     51311
     51312
     51313
     51322
     51322
     51322
用sql语句
1.找出num中第4位以0开始的所有记录;
2.找出num中第4位以1或者2开始的所有记录.

解决方案 »

  1.   

    1.找出num中第4位以0开始的所有记录;
    select * from tb where substring(num,4,1)='0'2.找出num中第4位以1或者2开始的所有记录.
    select * from tb where substring(num,4,1)='1' or substring(num,4,1)='2' 
      

  2.   

    select * from A where substring(cast(A1 as varchar),4,1)='0'
      

  3.   

    1.找出num中第4位以0开始的所有记录;
    select * from tb where substring(num,4,1)='0'2.找出num中第4位以1或者2开始的所有记录.
    select * from tb where substring(num,4,1)='1' or substring(num,4,1)='2'
      

  4.   

    to Isqkeke(可可)
    出现错误:
    数据类型 bigint 对于函数 substring 无效。允许的类型为: char/varchar、nchar/nvarchar 和 binary/varbinary。
      

  5.   

    谢谢scmail81(琳·风の狼) !!
      

  6.   

    select * from tb where substring(cast,(num as char(20),4,1)) ='0'
      

  7.   

    不好意思select * from tb where substring(cast(num as char(20)),4,1) ='0'