表结构如下,现在我要读出来的数据保留1位小数,sql语句要怎么写呢?(只能在sql语句中实现,不可用java、php等来实现)
 lat       lng
20.14 113.45
20.15 113.46
10 100.04 写成这样的话
SELECT substr( lat, 1, instr( lat, '.' ) +1 ) AS lat1, substr( lng, 1, instr( lng, '.' ) +1 ) AS lng1
FROM address
GROUP BY lat1, lng110就变成1了。各位大侠帮帮忙。

解决方案 »

  1.   

    表的结构这样:
    lat                        lng
    20.14                     113.45
    20.15                     113.46
    10                        100.04 
      

  2.   

    mysql> SELECT ROUND(20.14, 1);
    +-----------------+
    | ROUND(20.14, 1) |
    +-----------------+
    |            20.1 |
    +-----------------+
    1 row in set (0.08 sec)mysql> SELECT ROUND(20.15, 1);
    +-----------------+
    | ROUND(20.15, 1) |
    +-----------------+
    |            20.2 |
    +-----------------+
    1 row in set (0.00 sec)mysql> SELECT ROUND(10, 1);
    +--------------+
    | ROUND(10, 1) |
    +--------------+
    |           10 |
    +--------------+
    1 row in set (0.02 sec)mysql>
      

  3.   

    两个栏位都是varchar类型,用FLOOR(lat*10)/10出错