1、我存的数比较大,结果自动转化成科学计数法,不想用科学计数法存。
2、两个数相除,小数位比较大,我取两位(4舍5入),然后用cast(商,decimal(,2)) 结果小数全都出来了
怎么办

解决方案 »

  1.   

    --2.
    select cast(1/3.0 as dec(10,2))
      

  2.   

    小数四舍五入可以用round阿!
      

  3.   

    cast(字段 as decimal(4,2))
      

  4.   

    cast(round(合计*100/@fltTotalMoney,2) as decimal(15,2))
      

  5.   

    cast(round(合计*100/@fltTotalMoney,2) as decimal(15,2))
    有的不行
      

  6.   

    cast(字段 as decimal(4,2))
      

  7.   

    使用 STR
    STR 函数将数字转换为字符,用可选的参数来指定结果的总长度(包括小数点和小数点后的位数)。STR 的长度和小数参数(如果提供)应该是正数。默认长度是 10。在默认情况下或者小数参数为 0 时,数字四舍五入为整数。指定长度应该大于或等于小数点前面的数字加上数字符号(如果有的话)的长度:下面的示例将 123.45 的浮点表达式转换为字符长度为 6 和小数位数为 2 的字符。 SELECT STR(123.45, 6, 2)下面是结果集:------
    123.45(1 row(s) affected)如果转换为字符串的表达式的整数部分超过 STR 中指定的长度,STR 将为指定的长度返回 **。例如,数字 1234567.89 的小数点的左边有 7 位数字。如果 STR 中的长度参数为 7 或更大,结果字符串将包含整数和可以容纳的尽可能多的小数位数。如果 STR 中的长度参数为 6 或更小,则返回星号。例如下面的批处理:SELECT STR(1234567.89, 7, 2)
    SELECT STR(1234567.89, 6, 2)下面是结果集:-------
    1234568(1 row(s) affected)------
    ******(1 row(s) affected)将 decimal 数据类型转换为字符数据时,STR 能提供比 CAST 更大的灵活性,因为它能显式控制格式化。
      

  8.   

    第一个需求可以用比较 LOG 和 LOG10
    LOG 函数返回所给 float 表达式的自然对数。自然对数是使用底数为 2 的体系计算的。但是,LOG10 函数返回底数为 10 的对数。LOG 和 LOG10 都可用于三角应用程序。例如,下面的 SELECT 语句计算 1.75 的 LOG 和 LOG10 值:SELECT LOG(1.75), LOG10(1.75)
      

  9.   

    高手帮忙
    update 总概算表 set 费用比例=cast(合计*100/@fltTotalMoney as decimal(15,2))
    1,95.01000000000001   95.01
    2,95.20999999999999   95.21
    完不了活了
      

  10.   

    字段数据类型不对吧
    字段数据类型如果是 decimal(15,2),不用cast转换也会自动转换
      

  11.   

    类型是不一样,
    起初的数据是从Access导入
    有好多的数据都是很长的数float <=deciaml