【发布时间】:2012-06-24 23:48:39
【问题描述】:
我正在使用数据库,并且在 column_x 中的一些变量为 NULL。由于有人不喜欢这个,我们决定将其更改为“无”。现在我使用以下命令在 Python 中更改它:
query = "update stone set results = 'None' where results is null;"
但是当我这样做时:
query = "SELECT * FROM stone where part = 'ABC';"
我得到一个输出 'x','y','z',None,'a'
但是当我这样做时:
query = "SELECT * FROM stone where part = 'ABC' and results = 'None';"
我得到 () 返回。这可能是因为“无”不存在。这么短的问题很长,我如何通过 Python 更改 None -> 'None'?
【问题讨论】:
-
这会总是成为你的模式吗('ABC' 和 'None')?如果没有,使用参数将有助于解决这个问题。另外,请确保您正确转义了字符串“None”。最后,您可能希望直接在数据库上运行此查询,以查看是否真的有一个结果集符合您的搜索条件。
-
是的,抱歉,我可能没有说清楚。我寻找石头'ABC',如果我将结果留空,我会找到它。 Stone 'ABC' 结果的值 = None 但是,当我搜索 'ABC' 和 'None' 时,我没有得到结果。我认为这是因为 None != 'None'
-
我错过了什么吗?我的理解是数据库供应商修复了 NULL(没有任何值)。如果返回 NULL,您如何查找 None,除非这些是字符串变量,并且您使用 None 或 NULL 编写。是这样吗?
-
数据库包含的结果选项 'Available','None',NULL 现在我们将 NULL 更改为 'None'(我们认为)但是现在我们有 'Available,'None',None 并且我们无论我们尝试什么,都无法将 None 更改为“None”...
-
stone(describe stone;) 的表定义是什么?
标签: python sql variables quotes