gpt4 book ai didi

mysql - 使用比较运算符的问题

转载 作者:行者123 更新时间:2023-11-30 23:00:12 26 4
gpt4 key购买 nike

我有一个如下所示的 SQL 语句:

SELECT `scaleble` FROM `property_requirement` WHERE (`scaleble` > '850' AND `scaleble` < '1200' )

并且没有产生任何结果,而另一个 SQL 语句看起来像:

SELECT `scaleble` FROM `property_requirement` WHERE (`scaleble` > 850 AND `scaleble` < 1200 )

给出所需的结果。

但是,个人比较喜欢:

SELECT `scaleble` FROM `property_requirement` WHERE (`scaleble` > '850')

SELECT `scaleble` FROM `property_requirement` WHERE (`scaleble` < '1200')

确实会产生所需的结果。我对这些查询的工作有点困惑。谁能帮我解决这个问题?

最佳答案

据推测,scalable 被存储为一个字符串。与单引号的比较将值转换为字符串,因此它们不按数字顺序排列。作为字符串 '850' > '1200' 所以没有满足条件的东西。

您可以通过删除单引号来解决此问题。我还鼓励您明确地将值转换为数字。为此,我通常只添加 0:

SELECT `scaleble`
FROM `property_requirement`
WHERE (`scaleble` + 0 > 850 AND `scaleble` + 0 < 1200 );

关于mysql - 使用比较运算符的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24430857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com