我在postgres11.0中有下表
col1 col2 col3 col4
1 drug Galactose Galactose
2 biological Galactose_1 Galactose
3 drug Galactose Galactose
我正在编写一个python脚本,它可以比较每行的两个列值(col3和col4),如果它们相等的话,还可以在col4为空时获取行。我可以连接到远程主机和数据库表,也可以获取行。但是比较运算符给出了语法错误。我是python新手,因此无法在代码中找到错误。
q = "select * from %s.table;" % (staging_schema)
cur.execute(q)
print("Selecting rows from test table using cursor.fetchall")
row = cur.fetchall()
countdown = len(row)
for drug in row:
if (drug[2] == drug[3]) or (drug[3] == '')
print(countdown, drug[0], drug[1], drug[2], drug[3])
countdown -= 1
else
print('different string')
ps:我也试过药[3].isnull()。
1条答案
按热度按时间omqzjyyz1#
让数据库来完成这项工作比提取整个表然后在应用程序代码中进行迭代和过滤更简单、更高效。
你似乎想要:
这假设你的意思是
null
当你说空的时候。如果你的意思是空字符串,那么:或者两者兼而有之: