【问题标题】:sql query is not working in case of number is in decimal如果数字是十进制,则sql查询不起作用
【发布时间】:2013-08-18 17:40:41
【问题描述】:

我正在使用以下查询,它显示的是空结果,但表中存在记录。 请告诉我该怎么做

select * from wp_rg_lead_detail where lead_id=5047 and field_number=1.6
select * from wp_rg_lead_detail where lead_id=5047 and field_number=1.6

在这两种情况下查询都返回空结果。但数据存在于表中。

field_number 的数据类型是数据库中的浮点数。

【问题讨论】:

  • 你不应该比较浮点数是否相等:看看例如stackoverflow.com/questions/8839460/…
  • 但我有混合价值,例如。 2,3, 1.3,1.6.8.1,8.5,8.6 我想从数据库中获取与此相关的值,如果我使用 >= 和

标签: mysql sql


【解决方案1】:

将列更改为十进制或数字,它们存储精确的数字数据值。浮点数始终是近似数字(以存储方式)

编辑:试试这样

select * from wp_rg_lead_detail where lead_id=5047 and format(field_number,1)=1.6

【讨论】:

  • 但在表中我有两个值,例如 2、4、1.3、1.6 我使用的是重力形式,所以它是子字段的 id。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多