我正在寻找一个正则表达式来从SQL SELECT语句拆分字段列表。PHP正则表达式来拆分SQL字段列表
我已经提取从查询的其他字段列表,所以我留下了一个字符串,它可能看起来像:
field1,field2,field3,CONCAT(field1,field2) AS concatted,IF(field1 = field2,field3,field4) AS logic
我觉得逻辑的做法是各执一个字符串逗号,只要逗号不出现在禁忌之中,所以我只需要找到正确的正则表达式来做到这一点...?
我想要实现的最终结果是找出哪些字段看起来是从表中直接选择的,哪些是从SQL表达式创建的,以便稍后可以决定是否使用WHERE或HAVING子句。
一旦我有了字段列表,我可以检查“AS”关键字的存在,尽管这不是完美的,但应该用我编写SQL的方式工作。
(为表明不属于表达式,但是别名字段,和表达式可以不是锯齿,或可以是但不使用“AS”之间differenciates另一种方式的奖励积分)
似乎完美地完成这项工作,谢谢! – Codecraft