我正在用 Python 编写一个 SQL 生成器,用于转换搜索查询,例如:
foo=='bar' and car=='foo' and (jar=='h o r' or jar==null)
进入如下SQL代码:
SELECT *
FROM tbl_coo T0, tbl_coup T1
WHERE T0.foo=='bar' AND T1.car=='foo'
AND (T1.jar=='h o r' OR T1.jar==NULL);
大部分实现方式:
- 给定列名查找表名(设置覆盖问题)#done
- 解析查询,以便我可以用表名#mostlydone 重写它
- 从重新解析的查询生成 SQL #next