Puanınız sütunlar varchar olarak depolanan veri içeriyorsa, CAST a> işlevini kullanarak, ondalık için bu dönüştürebilirsiniz. Örneğin:
mysql> select cast('3.35643294332' as decimal(10,3));
+----------------------------------------+
| cast('3.35643294332' as decimal(10,3)) |
+----------------------------------------+
| 3.356 |
+----------------------------------------+
1 row in set (0,01 sec)
And note this will round the values correctly :
mysql> select cast('3.35663294332' as decimal(10,3));
+----------------------------------------+
| cast('3.35663294332' as decimal(10,3)) |
+----------------------------------------+
| 3.357 |
+----------------------------------------+
1 row in set (0,00 sec)
yani:
'3.3564' 3.356 ile dökülmüş
- ve
'3.3566' 3.357 ile dökülmüş
Now, you only have to use that cast function in your comparisons in your where clause.
Böyle bir şey, örneğin, çalışması gerektiğini varsayalım:
select *
from your_table
where cast(Score as decimal(10,3)) = cast('3.4564' as decimal(10,3))
yani, sen "girişini" hem dönüştürmek ve 3 ondalık ondalık skorun; ve bu değerleri dönüştürmek.
A a sidenote : doing so, you won't be using any index that you might have on Score, and will always end up with a full-scan... Which means another solution would be better... For instance, if you could use a where clause like score >= X and Score <= Y, it would be much better...
Puan varchar olarak saklanan Ama, bu o kadar kolay olmayacak, sanırım - btw, ondalık olarak bu saklamalısınız ...