选择指定小数的SQL



我需要搜索具有特定小数的行

|product | value |
|--------|-------|
|prodA   | 1.3599|
|prodB   | 1.6222|
|prodC   | 1.2566|
|prodD   | 1.1000|

如果我使用脚本select * from product where value like '%_.___%';,结果是表中有3个或更多小数的所有值。

但是我只需要带小数>5小数点后第三位在表的例子中,我需要产品A和C有编号>5小数点后第三位,有一些脚本或通配符带来这个结果吗?

一种方法是将值转换为字符串,然后使用字符串操作:

where substr(format(value, 4), -2, 1) >= '5'

注意:这在四舍五入时可能会有点棘手,因为4.9999999可能会被解释为5.0000。

你也可以使用算术:

where mod(cast( value * 1000 as int), 10) >= 5

最新更新