Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用sqlalchemy,如何查询条目是否有具有特定数字类型值的列?_Python_Sqlalchemy - Fatal编程技术网

Python 使用sqlalchemy,如何查询条目是否有具有特定数字类型值的列?

Python 使用sqlalchemy,如何查询条目是否有具有特定数字类型值的列?,python,sqlalchemy,Python,Sqlalchemy,我正在使用python和sqlalchemy 我有一个db,它的列是数字类型 我想查询数据库以检查列中是否有具有特定值的条目 假设我要查找的值是1.04521,我们知道它在db中 我试过了 (result,) = session.query( exists().where(MyEntryClass.someNumericValue == 1.0452) 但是result仍然是False,即使我知道它在数据库中 如何检查是否存在具有特定数值的列的条目 原始问题: 经过进一步的探索,我认为这是由于

我正在使用python和sqlalchemy

我有一个db,它的列是数字类型

我想查询数据库以检查列中是否有具有特定值的条目

假设我要查找的值是
1.04521
,我们知道它在db中

我试过了

(result,) = session.query( exists().where(MyEntryClass.someNumericValue == 1.0452)
但是
result
仍然是
False
,即使我知道它在数据库中

如何检查是否存在具有特定数值的列的条目

原始问题:
经过进一步的探索,我认为这是由于非整数的舍入/表示。

实际上您没有得到结果,因为存在查询执行器,如
all()、first()、scalar()
,所以使用scalar:

result = session.query(exists().where(MyEntryClass.someNumericValue==1.0452)).scalar()

这似乎并没有解决问题。如果我执行
queryRes=session.query(MyEntryClass)
,那么我会得到一个查询对象。如果我循环查询中的每个项目并打印
MyEntryClass.someNumericValue
,它将打印
Decimal('14.274873614')
,而不仅仅是值。另外,如果我在循环时尝试MyEntryClass.someNumericValue==14.274873614,则为False。这意味着问题在于数据而不是查询。你试过
where(MyEntryClass.someNumericValue==Decimal(1.0452))
吗?我试过
exists()。where(Particle.DET_forestreshold==Decimal(1.0452))
时出错,说
未定义Decimal
。我不确定在哪里定义了
Decimal
,以便导入它。