如题!谢谢!

解决方案 »

  1.   

    select * from tb where  col*100 - floor(col*100 ) > 0
      

  2.   

    select * from tb where col*100 - floor(col*100 ) <> 0
      

  3.   

    create table tb(col decimal(18,4))
    insert into tb values(19.00)
    insert into tb values(19.001)
    insert into tb values(19.002)
    insert into tb values(19.003)
    insert into tb values(19.004)
    goselect * from tb where col*100 - floor(col*100 ) <> 0drop table tb/*
    col                  
    -------------------- 
    19.0010
    19.0020
    19.0030
    19.0040(所影响的行数为 4 行)*/
      

  4.   

    select *from
    (select 1.00 as a
    union all select 2.216
    union all select 3.210
    union all select 3.200
    ) b where a*100>floor(100*a)
    /*
    a
    ---------------------------------------
    2.216(1 行受影响)*/
      

  5.   

    应该用 select * from tb where col*100 - floor(col*100 ) <> 0
    见帮助:
    floor() 返回小于或等于所给数字表达式的最大整数语法
    FLOOR ( numeric_expression )参数
    numeric_expression精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。 返回类型
    返回与 numeric_expression 相同的类型。示例
    此示例说明正数、负数和货币值在 FLOOR 函数中的运用。SELECT FLOOR(123.65), FLOOR(-123.45), FLOOR($123.45)结果为与 numeric_expression 数据类型相同的计算值的整数部分。 ---------      ---------     -----------
    124            -124          123.0000   
      

  6.   

    给出结构和数据,字符型和数据型作法不同
    是float  浮点型的!
    select * from tb where col*100 - floor(col*100 ) > 0  这个好像还是不行!
      

  7.   

    SELECT * FROM A WHERE LEN(E)-(CHARINDEX('.', E)) > 2
      

  8.   

    select *
    from tb
    where charindex('.',reverse(col))>2
      

  9.   

    select *
    from tb
    where charindex('.',reverse(col))>3
     
      

  10.   

    这样才对~
    select * from tb where col*100 - floor(col)*100 > 0