2013-08-26 74 views
3

我有不同的数据值(类型),如10.002.00。我怎样才能得到它的整数值,所以我想要得到10而不是10.002而不是2.00从SQL截断结果到整数值

+1

如何关于MySQL的圆法? http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_round –

回答

2

例如,您cound尝试这样做:

WHERE CONVERT(your_column, SIGNED INTEGER) AS num 
FROM 
    table 
ORDER BY 
    num; 

Based on MySQL Documentation CONVERT() and CAST():

CONVERT()提供了一种不同的字符集之间转换数据。语法是:

CONVERT(expr USING transcoding_name) 

在MySQL中,转码名称与相应的字符集名称相同。

Besides for you also could work ROUND(X), ROUND(X,D):

大红大紫的说法X到d小数。舍入算法取决于X的数据类型。如果未指定,则D默认为0。 D可能是负数,导致值X的小数点左边的D数字变为零。

mysql> SELECT ROUND(150.000,2), ROUND(150,2); 
+------------------+--------------+ 
| ROUND(150.000,2) | ROUND(150,2) | 
+------------------+--------------+ 
|   150.00 |   150 | 
+------------------+--------------+ 
+0

转换可以围绕数字。这可能是不可取的。 –

+0

这是事实,可能是不可取的。依赖于取决于。 –

4

可以使用FLOORTRUNCATE功能根据您的意向:

SELECT FLOOR(1.999)  -- 1 
SELECT FLOOR(-1.999)  -- -2 
SELECT TRUNCATE(1.999, 0) -- 1 
SELECT TRUNCATE(-1.999, 0) -- -1 
+0

你的榜样,也可以为他/她的目的服务! +1 –