3

10.00やなど、さまざまなデータ値 (型) があります2.0010整数値のみを取得するにはどうすればよいので、の代わりに10.002の代わりに取得したい2.00ですか?

4

2 に答える 2

4

意図に応じてFLOORまたは関数を使用できます。TRUNCATE

SELECT FLOOR(1.999)        --  1
SELECT FLOOR(-1.999)       -- -2
SELECT TRUNCATE(1.999, 0)  --  1
SELECT TRUNCATE(-1.999, 0) -- -1
于 2013-08-26T08:18:06.437 に答える
2

たとえば、次のようにしてみてください。

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

MySQL ドキュメント CONVERT() および CAST() に基づく:

CONVERT() は、異なる文字セット間でデータを変換する方法を提供します。構文は次のとおりです。

CONVERT(expr USING transcoding_name)

MySQL では、トランスコーディング名は対応する文字セット名と同じです。

また、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 |
+------------------+--------------+
于 2013-08-26T08:08:02.467 に答える