数据平台中关于sql处理和数据库连接的动作较多,有时候需要具体处理sql字段。
com.alibaba.druid 在版本1.1.3版本之后去掉了getAliasMap()方法,所以如果高版本想要搞出复杂sql中的字段别名,需要额外进行自己实现。巨坑的是,大神们都不搞这个东西了。。。
低版本:小于1.1.3:
public static void main(String[]args){
String sql = "select current_date as \"date\",tag.name as \"TAG名称\",count(1) as \"关注用户数\" from\n" +
"(select target_id,user_id from dw.dw_follow_d where day = cast(date_add('day',-1,current_date) as varchar) and create_time >= :startTime and create_time <= :endTime and type = 'TAG') t\n" +
"join( select user_id,gender from dw.dw_user_info_d where day = cast(date_add('day',-1,current_date) as varchar) and gender in ( :sex ) ) u\n" +
"on u.user_id = t.user_id\n" +
"join ods.ods_tag_all tag on tag.id = t.target