将结果从SQL截断为整数值

时间:2013-08-26 08:05:06

标签: mysql sql integer rounding floor

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

2 个答案:

答案 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

答案 1 :(得分:2)

例如,您可以尝试这样做:

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的数据类型。如果未指定,则默认为0。 D可以为负,使得值X的小数点左边的D位变为零。

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