我有不同的数据值(类型),例如10.00
或2.00
。我怎样才能得到它的整数值,所以我想得到10
而不是10.00
和2
而不是2.00
?
答案 0 :(得分:4)
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 |
+------------------+--------------+