【问题标题】:Wrongly selecting decimal values错误地选择十进制值
【发布时间】:2018-11-20 17:27:24
【问题描述】:

我有一个包含十进制值的表格。

start_value decimal(10,2) | end_value decimal(10,2)

这是我的 MySQL 查询。

SELECT * FROM my_table WHERE start_value  >= '1.05' && end_value <= '1.05'

以上查询产生零结果,但在我的数据库中,有一个值 1.00 – 1.49

如果我将查询更改为只选择下面的第一个值

SELECT * FROM my_table WHERE start_value  >= '1.05'

MySQL 显示错误的结果。当它应该显示 1.00 – 1.49 时会显示 1.5 和 1.99

谁能告诉我我在这里做错了什么?

【问题讨论】:

  • 请使用相关示例数据设置 DB fiddle / SQL fiddle 并展示您的确切问题。
  • 你知道1.00 &gt;= 1.05 是假的,对吧?
  • start_value decimal(10,2) | end_value decimal(10,2) 这些值是否意味着什么?
  • 我们在sql中有&amp;&amp;吗?我不记得stackoverflow.com/questions/4105658/…
  • @AkhilaMadari decimal(10,2) 是我表中的数据类型。

标签: mysql


【解决方案1】:

这里当你提供范围时,你需要正确提供你的开始和结束值。对于你给它的值可以查询如下

SELECT * FROM my_table WHERE start_value  >= '1.00' and end_value <= '1.50'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 2018-12-06
    • 2012-01-31
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多