3

私のデータベースにはこれに似たデータがあります:

+----+----------------+
| id | summ (varchar) |
+----+----------------+
|  1 | 30.23          |
|  2 | 10.235         |
|  3 | 20.2300        |
|  4 | 100.005        |
|  5 | 5.031          |
|  6 | 0.0010002      |
+----+----------------+

小数点以下2桁を超えるMySQLクエリですべてのデータを受信するにはどうすればよいですか(ゼロもカウントされます)。

最初は3桁で5で終わるものだけを取得する必要があったので、このコマンドを使用substring( summs * 100, -2 ) = '.5'しましたが、さまざまな番号を取得する方法がわかりません。

4

4 に答える 4

7

あなたはこのようなことをすることができます:-

SELECT * 
FROM `table` 
WHERE LENGTH(SUBSTR(`summ `,INSTR(`summ `,"."))) >3
于 2013-03-15T14:36:29.787 に答える
0

したがって、SQLクエリで「20.23」を除外し、「20.2300」を含める必要がありますか?

これらは文字列であり、浮動小数点数ではない場合、クエリで文字列関数、具体的にはINSTR()とLENGTH()の組み合わせを使用できます。前者を使用して小数点(ピリオド)を見つけ、それを文字列の長さ(マイナス2)と比較します。

于 2013-03-15T14:45:32.017 に答える