我遇到以下问题,给出select * where x <> 12;
这样的查询我希望找到所有比较,在本例中为x <> 12
。
问题在于,由于解析查询的递归结构,此代码将打印None
import sqlparse
sql_string = 'select * where x <> 12;'
print sqlparse.parse(sql_string)[0].token_next_by_instance(0, Comparison)
在列表中使用展平方法时,结果是一个令牌列表,这些令牌不提供调用token_next_by_instance
所需的信息。在sqlparse创建的数据结构中递归搜索比较的最佳方法是什么。