数据库中有可能为整数也有可能为浮点数,但是MS SQL中无类似formatfloat类型函数,怎么按照0.00这种格式查询出来呢?谢谢

解决方案 »

  1.   

    try cast(字段 as numeric(20,2))
      

  2.   


    declare @n int 
    set @n = 0
    select cast(@n as decimal(18,2))
    /*
    0.00
    */
      

  3.   

    CAST()/CONVERT()函数都能转换数据的类型和格式。
      

  4.   

    select cast(1.236 as decimal(10,2))
    select cast(1.236 as numeric(10,2))
    /*
    1.24
    */
      

  5.   


    select cast(1.236 as decimal(10,2))
    select cast(1.236 as numeric(10,2))
    SELECT ROUND(1.236,2,1)
    前两种会四舍五入
    后一种不会四舍五入,但是有三位小数了!
      

  6.   

    select cast(1.236 as numeric(10,2))
      

  7.   

    SELECT CAST(@T AS NUMERIC(20,2))SELECT CAST(@T AS DECIMAL(18,2)) 
      

  8.   

    上面这些都是小数型的吧,主要是整数型,怎么显示小数点后两位呢,比如8显示8.00.我在查询分析器中看有两位小数,但是用ADO和企业管理器看就没有是什么原因?