.append(" EXTRACT(YEAR FROM to_timestamp(date_list.ts / 1000)) AS year,")
.append(" EXTRACT(MONTH FROM to_timestamp(date_list.ts / 1000)) AS month,")
.append(" EXTRACT(DAY FROM to_timestamp(date_list.ts / 1000)) AS day,")
.append(" EXTRACT(HOUR FROM to_timestamp(date_list.ts / 1000)) AS hour,")
.append(" EXTRACT(MINUTE FROM to_timestamp(date_list.ts / 1000)) AS minute,")
.append(" EXTRACT(SECOND FROM to_timestamp(date_list.ts / 1000)) AS second ")
.append(",ROUND(")
.append(agg)
.append("(CAST(val AS DECIMAL)), 2) as val FROM thing_ts_kv as tskv ")
.append(" JOIN date_list ON ");
sql.append(" EXTRACT ( epoch FROM date_trunc( '").append(timeType).append("', ( to_timestamp( tskv.ts / 1000 ) AT TIME ZONE'UTC+0' ) AT TIME ZONE'UTC+8' ) ) * 1000 ");
sql.append("= date_list.ts GROUP BY thing_code,attr_key,date_list.ts ORDER BY date_list.ts ");
}else{
sql.append(" SELECT thing_code, attr_key, time as ts,val from (")
.append(" SELECT thing_code, attr_key, ")
sql.append(" SELECT thing_code, attr_key, time as ts,val, EXTRACT(YEAR FROM to_timestamp(time / 1000)) AS year, ")
.append(" EXTRACT(MONTH FROM to_timestamp(time / 1000)) AS month, ")
.append(" EXTRACT(DAY FROM to_timestamp(time / 1000)) AS day, ")
.append(" EXTRACT(HOUR FROM to_timestamp(time / 1000)) AS hour, ")
.append(" EXTRACT(MINUTE FROM to_timestamp(time / 1000)) AS minute, ")
.append(" EXTRACT(SECOND FROM to_timestamp(time / 1000)) AS second ")