gpt4 book ai didi

python - SQL BETWEEN 命令不适用于大范围

转载 作者:太空狗 更新时间:2023-10-30 00:49:04 27 4
gpt4 key购买 nike

SQL 命令 BETWEEN 仅在我为列指定一个小范围时才有效。这就是我的意思:

我的代码:

import AzureSQLHandler as sql

database_layer = sql.AzureSQLHandler()
RESULTS_TABLE_NAME = "aero2.ResultDataTable"
where_string = " smog BETWEEN '4' AND '9'"

print database_layer.select_data(RESULTS_TABLE_NAME, "*", where_string)

对应的SQL命令:

SELECT *
FROM aero2.ResultDataTable
BETWEEN '4.0' AND '9.0'

并且 select_data 返回一个包含所有这些行的二维数组。

我在这里引用的列已经保存了所有等于 5.0 的值。

这很好用!

但是,当我将范围增加到例如“4.0”和“200.0”时,它不会返回任何内容。

最佳答案

数据库中的字符串是按字母顺序比较的。字符串 '4.0' 大于字符串 '200.0',因为字符 4 位于字符 2 之后。如果你需要支持这种查询,你应该在你的数据库中使用数字类型。确保 smog 列具有数字类型(例如 DOUBLE)并在查询中使用 BETWEEN 4.0 AND 200.0

如果您无法更改架构,您可以使用 CAST:cast(smog as DOUBLE) BETWEEN 4.0 and 200.0,但此解决方案效率较低。

关于python - SQL BETWEEN 命令不适用于大范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34348390/

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