I want to parse out all the columns out of a sql using regular expression, but no idea about parsing sql coming with functions.Like :
SELECT
NVL(SUM(MISSIONNO), 0) DISTCNT, COUNT(DISTINCT(USERID)) USERIDCNT
FROM EVTSUPPLYHIST
WHERE EVTCODE = #evtCode#
AND EVTNO = #evtNo#
AND GIFTCODE = #giftCode#
AND SUPPLYDT BETWEEN TO_DATE(#startDate#, 'YYYY/MM/DD HH24:MI:SS')
AND TO_DATE(#endDate#, 'YYYY/MM/DD HH24:MI:SS')
For this sql above , right results should be DISTCNT and USERIDCNT, as you might guess it's not pure and clean sql, but ibatis-based paremetered sql.Any ideas?
[a-zA-Z_]? If the query isSELECT COUNT(USERID) FROM USER_INFOwhat do you want to return? I suppose you could also allow for multiple words in a column name if it was surrounded by back ticks ("SELECTuser idFROM ..")