比如有个字段是数值型,里面有些内容是2.12547等小数点后面很多位。
我想把小数点后面大于2位的查出来,该怎么写?

解决方案 »

  1.   

    这个需要先转成字符型,然后用charindex或者patindex来取
      

  2.   

    DECLARE @a DECIMAL(18,9)
    SET @a=2.125471657
    SELECT @a [源数据],SUBSTRING(CONVERT(VARCHAR(32),@a),PATINDEX('%.%',CONVERT(VARCHAR(32),@a))+3,LEN(CONVERT(VARCHAR(32),@a))) [小数位后2位]/*
    源数据                                     小数位后2位
    --------------------------------------- --------------------------------
    2.125471657                             5471657(1 行受影响)*/
      

  3.   

    select col1 from tb where where col1*100=cast(col1*100 as decimal(28,0))