需求场景
hibernate产生了SQL打印在控制台,想整理出简单的sql分析,发现sql中有各种难懂的 as, 像下面这样:
select
tbo.ID as ID482_0_,
tbo.ADDRESS as ADDRESS482_0_,
tbo.ADMINISTRATIVE_DIVISION as ADMINIST3_482_0_,
tbo.CREATE_TIME as CREATE4_482_0_,
tbo.CREATOR_ID as CREATOR5_482_0_,
tbo.CREATOR_NAME as CREATOR6_482_0_,
tbo.DELETE_TIME as DELETE7_482_0_,
tbo.DEPARTMENT_CODE as DEPARTMENT8_482_0_,
tbo.DEPT_LEVEL as DEPT9_482_0_,
tbo.DIS_EXAMINE_TIME as DIS10_482_0_,
tbo.DIS_RELEASE_TIME as DIS11_482_0_,
tbo.DROOP_ID as DROOP12_482_0_,
tbo.ESTABLISH_DATE as ESTABLISH13_482_0_,
tbo.EXAMINE_PERSON_ID as EXAMINE14_482_0_,
tbo.EXAMINE_TIME as EXAMINE15_482_0_,
from TBL_BASE_ORGANIZATION tbo where tbo.ID=?
需要在 notpad++ 或者其他编辑器中替换掉 as 和 as 后一个单词
达到如下样子:
select
tbo.ID ,
tbo.ADDRESS ,
tbo.ADMINISTRATIVE_DIVISION ,
tbo.CREATE_TIME ,
tbo.CREATOR_ID ,
tbo.CREATOR_NAME ,
tbo.DELETE_TIME ,
tbo.DEPARTMENT_CODE ,
tbo.DEPT_LEVEL ,
tbo.DIS_EXAMINE_TIME ,
tbo.DIS_RELEASE_TIME ,
tbo.DROOP_ID ,
tbo.ESTABLISH_DATE ,
tbo.EXAMINE_PERSON_ID ,
tbo.EXAMINE_TIME ,
from TBL_BASE_ORGANIZATION tbo where tbo.ID=?
用到的正则表达式
\bas\b\s+(\w+)\b
或者 \s+as\s+\w+