如图所示:
我要对F3-F15一共7列的所有数据进行遍历,对原有的数据进行精简,只保留四位有效数据(比如  0.936 0.945 0.606 ····),要求以四舍五入的方式进行精简。
麻烦各位大牛帮忙看看,写个sql语句,小弟在校大二的学生,希望各位帮帮忙····谢谢了!

解决方案 »

  1.   

    后面F13-F15的数据没显示  那就从F3-F11吧····拜托各位了···
      

  2.   

    发错地方了,sql server的怎么跑oracle板块来发帖了啊!--oracle 中截取小数点后面的数是这样的
    SQL> select trunc(0.60639152154,4) from dual;
     
    TRUNC(0.60639152154,4)
    ----------------------
                    0.6063
     
    SQL> select trunc(0.6069152154,4) from dual;
     
    TRUNC(0.6069152154,4)
    ---------------------
                   0.6069
      

  3.   


    --数字四舍五入
    SQL> select round(0.60629152154,4) from dual;
     
    ROUND(0.60629152154,4)
    ----------------------
                    0.6063
      

  4.   

    sql server里面也是round函数
    SELECT ROUND(123.1994,3) AS "取小数点后3位 "--result:123.199
    SELECT ROUND(123.1995,3) AS "取小数点后3位" --result:123.200
      

  5.   

    我是明白点了  但是  我要对表中的F3-F15一共7列中的所有数据进行遍历    这个   sql语句怎么写?我懂得用round(),但是怎么遍历让所有的数据都调用round()呢???
      

  6.   

    其实我更希望你给我完整的sql程序  比如use  数据库    insert into 表  ·······
    我sql真的没懂多少···
      

  7.   


    USE Excel;
    GOSELECT F1,LEFT(ROUND(F3,3),5),LEFT(ROUND(F5,3),5),LEFT(ROUND(F7,3),5),LEFT(ROUND(F9,3),5),LEFT(ROUND(F11,3),5)
    FROM excel;
    GO
      

  8.   


    USE Excel; 
    GO SELECT F1,LEFT(ROUND(F3,3),5),LEFT(ROUND(F5,3),5),LEFT(ROUND(F7,3),5),LEFT(ROUND(F9,3),5),LEFT(ROUND(F11,3),5) 
    FROM excel; 
    GO