Mysql:如何获取点后小数位数超过一定数量的每一行

yvo*_*yer 4 mysql sql

我有一个包含浮点值的表。

+   id   |  value  |
+--------|---------|
+   1    | 19.22   |
+   2    | 32.333  |
+   3    | 1.2332  |
+   4    | 0.22334 |
+   5    | 4.55    |
Run Code Online (Sandbox Code Playgroud)

我想提取点后包含多于3个小数的每一行。

我期望的结果是:

+   id   |  value  |
+--------|---------|
+   2    | 32.333  |
+   3    | 1.2332  |
+   4    | 0.22334 |
Run Code Online (Sandbox Code Playgroud)

dot*_*iel 5

value列强制转换为a varchar并使用字符串比较。

  • 谢谢,这是我使用的查询:“SELECT value FROM table t WHERE cast(value as CHAR) LIKE '%.___%'” (2认同)

Jud*_*edd 5

这对我有用:

SELECT  *
FROM table
WHERE column <> ROUND (column,2)
Run Code Online (Sandbox Code Playgroud)

或者:

SELECT  *
FROM table
WHERE column <> CAST (column AS DECIMAL(36,2))
Run Code Online (Sandbox Code Playgroud)