【发布时间】:2018-01-17 13:24:58
【问题描述】:
数据类型为value float(5,2)的数据库字段名称
Inserted value
7.80
78.00
我的模态查询
$checkValue = static::find()->where(['value' => $this->value])->one();
如果我通过$this->value等于 78.00 或 78.000 则返回正确的结果。
但如果我通过 7.80 或 7.8 则返回 0 行。为什么?
【问题讨论】:
-
当 $this->value 是 string
'7.80'时会发生什么? -
如果我在字符串中传递它会给我 0 结果。它适用于类似查询....
-
可以直接查数据库吗?
-
是的,在数据库查询中它工作正常 SELECT * FROM
value_masterWHEREvalue=7.8 -
Yii为unsigned整数和floating数字返回字符串。那是因为通常DBMS类型可以表示比PHP更多,并且我们希望保持精度。 stackoverflow.com/questions/37840490/…