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

2024-04-24 10:32:40 发布

您现在位置:Python中文网/ 问答频道 /正文

只有当我为列指定了一个小范围时,SQL命令才能工作。 我的意思是:

我的代码:

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'

选择“数据”返回一个包含所有这些行的二维数组。你知道吗

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

这个很好用!你知道吗

但是,当我将范围增加到,比如说,“4.0”和“200.0”时,它不会返回任何结果。你知道吗


Tags: andname命令layersqlstringtablebetween
1条回答
网友
1楼 · 发布于 2024-04-24 10:32:40

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

如果不能更改模式,可以使用CASTcast(smog as DOUBLE) BETWEEN 4.0 and 200.0,但是此解决方案效率较低。你知道吗

相关问题 更多 >