我在数据库中有一些值,在我想要搜索的 FLOAT 列中。
奇怪的是,运行此命令时 2.5 的值又回来了:
SELECT * from `prices` WHERE `price` = 2.5
但是当我在 4.8 上搜索时没有返回任何内容,除非我在比较之前对列进行了修剪,如下所示:
SELECT * from `prices` WHERE trim(`price`) = 4.8
任何人都知道这可能是什么原因,我认为因为它是一个 FLOAT 字段,所以不应该有任何需要修剪的前导或尾随空格。我假设 4.8 的数字没什么特别的,但它仍然很有趣。
浏览数据库时,我可以看到它是一个普通的 4.8,没有前导或尾随字符。
我有点难为为什么会发生这种情况。