diff --git a/src/libs/db/query_exec.js b/src/libs/db/query_exec.js
index 4a1745f691dec9c419a86c0450fe16be6c1bbb1d..c47c198031437648e07ea340cb073ba50cbe01b2 100644
--- a/src/libs/db/query_exec.js
+++ b/src/libs/db/query_exec.js
@@ -42,8 +42,6 @@ function execSqlQuery(sqlQuery, sqlQueryParams = []) {
     let queryStrWithParams = SqlString.format(sqlQuery, sqlQueryParams);
     return new Promise((resolve, reject) => {
         // Execute query
-		console.log(conn);
-		console.log(queryStrWithParams);
         conn.query(queryStrWithParams, []).then(res => {
             // release resources allocated for the prepared statement
             resolve(res.rows);
diff --git a/src/libs/routes_v1/auxiliar.js b/src/libs/routes_v1/auxiliar.js
index ef5389611ae2b53dce22d3c513034db5f9bf64d9..054b23ea5fba601159b9e4df6f7c91e4a5061eea 100644
--- a/src/libs/routes_v1/auxiliar.js
+++ b/src/libs/routes_v1/auxiliar.js
@@ -365,7 +365,7 @@ rqf.addField({
 
 // LDE
 auxiliarApp.get('/', rqf.parse(), (req, res, next) => {
-  req.sql.field('COUNT(DISTINCT docente.id_docente)', 'total')
+  req.sql.field('CAST(COUNT(DISTINCT docente.id_docente) AS INTEGER)', 'total')
   .field("'Brasil'", 'name')
   .field('docente.ano_censo', 'year')
   .from('docente')
@@ -381,7 +381,7 @@ auxiliarApp.get('/', rqf.parse(), (req, res, next) => {
 
 // SimCAQ
 auxiliarApp.get('/count', rqf.parse(), (req, res, next) => {
-    req.sql.field('COUNT(DISTINCT docente.id_docente)', 'total')
+    req.sql.field('CAST(COUNT(DISTINCT docente.id_docente) AS INTEGER)', 'total')
    .field("'Brasil'", 'name')
    .field('docente.ano_censo', 'year')
    .from('docente')
diff --git a/src/libs/routes_v1/class.js b/src/libs/routes_v1/class.js
index 4eca8cc30f9af5cc0c084bc792d26e55d4b2968d..177889e1999fb07489c54a6a8435ccb12725cb03 100644
--- a/src/libs/routes_v1/class.js
+++ b/src/libs/routes_v1/class.js
@@ -388,7 +388,7 @@ rqfCount.addField({
 
 
 classApp.get('/', rqfCount.parse(), (req, res, next) => {
-    req.sql.field('COUNT(turma.id)', 'total')
+    req.sql.field('CAST(COUNT(turma.id) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('turma.ano_censo', 'year')
     .from('turma')
diff --git a/src/libs/routes_v1/classCount.js b/src/libs/routes_v1/classCount.js
index ffdbe34fb15ee4df7312a7d8b45fb2b286a04bab..6e43ecdbc22505f749fa2dd6ccb60543255174e2 100644
--- a/src/libs/routes_v1/classCount.js
+++ b/src/libs/routes_v1/classCount.js
@@ -359,7 +359,7 @@ function addZeroFields(result) {
 classCountApp.get('/count', rqf.parse(), (req, res, next) => {
   req.sql.field("'Brasil'", 'name')
    .field('turma.ano_censo', 'year')
-   .field('AVG(turma.num_matricula)', 'average')
+   .field('CAST(AVG(turma.num_matricula) AS INTEGER)', 'average')
    .field('MEDIAN(turma.num_matricula)', 'median')
    .field('STDDEV_POP(turma.num_matricula)', 'stddev')
    .field('QUANTILE(turma.num_matricula, 0.25)', 'first_qt')
diff --git a/src/libs/routes_v1/classroom.js b/src/libs/routes_v1/classroom.js
index 8e2b6a7ef4a826386e0ef04d431a4f0396b18eb0..a151cf4960b16a122e667b82b81c0420388d090f 100644
--- a/src/libs/routes_v1/classroom.js
+++ b/src/libs/routes_v1/classroom.js
@@ -244,7 +244,7 @@ rqf.addField({
 
 classroomApp.get('/', cache('15 day'), rqf.parse(), rqf.build(), (req, res, next) => {
     req.sql.from('escola')
-        .field('SUM(escola.qtde_salas_utilizadas_dentro)', 'total')
+        .field('CAST(SUM(escola.qtde_salas_utilizadas_dentro) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('escola.ano_censo', 'year')
         .group('escola.ano_censo')
diff --git a/src/libs/routes_v1/classroomCount.js b/src/libs/routes_v1/classroomCount.js
index a1dbc69cfedcf13265c49baa6020a01cde7e4ab9..bbd30857aae6dc874ef505e13b51bdb9cb1d6784 100644
--- a/src/libs/routes_v1/classroomCount.js
+++ b/src/libs/routes_v1/classroomCount.js
@@ -303,8 +303,8 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
     req.dims.school_year = true;
     req.dims.location = true;
 
-    req.sql.field('sum(dia_total)', 'total_day')
-    .field('sum(noite_total)', 'total_night')
+    req.sql.field('CAST(sum(dia_total) AS INTEGER)', 'total_day')
+    .field('CAST(sum(noite_total) AS INTEGER)', 'total_night')
     .field("'Brasil'", 'name')
     .field('matricula_por_localizacao.ano_censo', 'year')
     .from('matricula_por_localizacao')
@@ -352,7 +352,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
     req.dims.location = true;
     req.dims.school_building = true;
 
-    req.sql.field('SUM(escola.qtde_salas_utilizadas_dentro)', 'total')
+    req.sql.field('CAST(SUM(escola.qtde_salas_utilizadas_dentro) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('escola.ano_censo', 'year')
     .from('escola')
@@ -412,7 +412,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
     req.dims.state = true;
     req.dims.city = true;
     req.dims.formation_level = true;
-    req.sql.field('count(distinct docente_por_formacao.id_docente)', 'total')
+    req.sql.field('CAST(count(distinct docente_por_formacao.id_docente) AS INTEGER)', 'total')
            .field("'Brasil'", 'name')
            .field('docente_por_formacao.ano_censo', 'year')
            .from('docente_por_formacao')
@@ -432,7 +432,7 @@ classroomCountApp.post('/', rqf.parse(), (req, res, next) => {
     req.dims.city = true;
     req.dims.education_level_short = true;
     req.dims.integral_time = true;
-    req.sql.field('COUNT(*)', 'total')
+    req.sql.field('CAST(COUNT(*) AS INTEGER)', 'total')
            .field('matricula.ano_censo', 'year')
            .from('matricula')
            .group('matricula.ano_censo')
diff --git a/src/libs/routes_v1/courseCount.js b/src/libs/routes_v1/courseCount.js
index 404ed2eb09b56efe5b6bd1caaa643ca1e225d3a8..13a0009ac349ae90a7e0869a18d17d26d06824db 100644
--- a/src/libs/routes_v1/courseCount.js
+++ b/src/libs/routes_v1/courseCount.js
@@ -713,7 +713,7 @@ rqf.addField({
 
 courseCountApp.get('/count_by_name', rqfMapfor.parse(), (req, res, next) => {
     req.sql.from('localoferta_ens_superior')
-    .field('COUNT(DISTINCT localoferta_ens_superior.cod_curso)', 'total')
+    .field('CAST(COUNT(DISTINCT localoferta_ens_superior.cod_curso) AS INTEGER)', 'total')
     .field('localoferta_ens_superior.ano_censo', 'year')
     .join ('curso_ens_superior ON (localoferta_ens_superior.cod_curso = curso_ens_superior.cod_curso) AND (localoferta_ens_superior.ano_censo = curso_ens_superior.ano_censo)')
     .where('curso_ens_superior.cod_nivel_academico = 1')
@@ -737,7 +737,7 @@ courseCountApp.get('/', rqf.parse(), (req, res, next) => {
         if ("university" in req.dims || "universityLocalOffer" in req.dims) {
             req.sql.from('curso_ens_superior')
                 .field('curso_ens_superior.ano_censo', 'year')
-                .field('COUNT(localoferta_ens_superior.cod_local_oferta)', 'total')
+                .field('CAST(COUNT(localoferta_ens_superior.cod_local_oferta) AS INTEGER)', 'total')
                 .where('curso_ens_superior.tipo_atributo_ingresso <> 1 OR curso_ens_superior.tipo_atributo_ingresso is NULL')
                 .where('curso_ens_superior.cod_nivel_academico = 1')
                 .group('curso_ens_superior.ano_censo')
@@ -746,7 +746,7 @@ courseCountApp.get('/', rqf.parse(), (req, res, next) => {
         } else {
             req.sql.from('curso_ens_superior')
                 .field('curso_ens_superior.ano_censo', 'year')
-                .field('COUNT(localoferta_ens_superior.cod_local_oferta)', 'total')
+                .field('CAST(COUNT(localoferta_ens_superior.cod_local_oferta) AS INTEGER)', 'total')
                 .field('localoferta_ens_superior.cod_ies', 'university_id')
                 .field('curso_ens_superior.nome_ies', 'university_name')
                 .where('curso_ens_superior.tipo_atributo_ingresso <> 1 OR curso_ens_superior.tipo_atributo_ingresso is NULL')
@@ -761,7 +761,7 @@ courseCountApp.get('/', rqf.parse(), (req, res, next) => {
         ("state" in req.filter) || ("city" in req.filter) || ("microregion" in req.filter) || ("mesoregion" in req.filter) || ("region" in req.filter) ) {
         if ("course" in req.dims){
             req.sql.from('curso_ens_superior')
-                .field('COUNT(*)', 'total')
+                .field('CAST(COUNT(*) AS INTEGER)', 'total')
                 .field("'Brasil'", 'name')
                 .field('curso_ens_superior.ano_censo', 'year')
                 .group('curso_ens_superior.ano_censo')
@@ -770,7 +770,7 @@ courseCountApp.get('/', rqf.parse(), (req, res, next) => {
         }
         else{
             req.sql.from('curso_ens_superior')
-                .field('COUNT(DISTINCT curso_ens_superior.cod_curso)', 'total')
+                .field('CAST(COUNT(DISTINCT curso_ens_superior.cod_curso) AS INTEGER)', 'total')
                 .field("'Brasil'", 'name')
                 .field('curso_ens_superior.ano_censo', 'year')
                 .group('curso_ens_superior.ano_censo')
@@ -781,7 +781,7 @@ courseCountApp.get('/', rqf.parse(), (req, res, next) => {
         
     } else if ("university" in req.dims || "universityLocalOffer" in req.dims) {
         req.sql.from('curso_ens_superior')
-            .field('COUNT(curso_ens_superior.cod_curso)', 'total')
+            .field('CAST(COUNT(curso_ens_superior.cod_curso) AS INTEGER)', 'total')
             .field("'Brasil'", 'name')
             .field('curso_ens_superior.ano_censo', 'year')
             .group('curso_ens_superior.cod_ies')
@@ -792,7 +792,7 @@ courseCountApp.get('/', rqf.parse(), (req, res, next) => {
             .where('curso_ens_superior.cod_nivel_academico = 1');
     } else {
         req.sql.from('curso_ens_superior')
-            .field('COUNT(curso_ens_superior.cod_curso)', 'total')
+            .field('CAST(COUNT(curso_ens_superior.cod_curso) AS INTEGER)', 'total')
             .field("'Brasil'", 'name')
             .field('curso_ens_superior.ano_censo', 'year')
             .group('curso_ens_superior.ano_censo')
diff --git a/src/libs/routes_v1/courseStudents.js b/src/libs/routes_v1/courseStudents.js
index 77180cb2b23489df7f2ebf74c57cc0471fddbc3e..e58728f38eeadf2372db5d5fcaf0d4ee1848d8ea 100644
--- a/src/libs/routes_v1/courseStudents.js
+++ b/src/libs/routes_v1/courseStudents.js
@@ -176,9 +176,9 @@ rqf.addField({
 
 courseStudentsApp.get('/', rqf.parse(), (req, res, next) => {
     req.sql.field("curso_ens_superior.ano_censo", "year")
-    .field("SUM(curso_ens_superior.quantidade_inscritos_total)", "inscritos_total")
-    .field("SUM(curso_ens_superior.quantidade_vagas_totais)", "vagas_totais")
-    .field("SUM(curso_ens_superior.quantidade_ingresso_curso)", "ingresso_curso")
+    .field("CAST(SUM(curso_ens_superior.quantidade_inscritos_total) AS INTEGER)", "inscritos_total")
+    .field("CAST(SUM(curso_ens_superior.quantidade_vagas_totais) AS INTEGER)", "vagas_totais")
+    .field("CAST(SUM(curso_ens_superior.quantidade_ingresso_curso) AS INTEGER)", "ingresso_curso")
     .from("curso_ens_superior")
     .join("ies_ens_superior ON curso_ens_superior.ano_censo = ies_ens_superior.ano_censo AND curso_ens_superior.cod_ies = ies_ens_superior.cod_ies")
     .where("curso_ens_superior.cod_nivel_academico = 1")
diff --git a/src/libs/routes_v1/cub.js b/src/libs/routes_v1/cub.js
index cfc2848a19ef2f831c6562a89d5fd5ea7f938b22..6908705e97ee310d0546570f3a7dec01631d58ca 100644
--- a/src/libs/routes_v1/cub.js
+++ b/src/libs/routes_v1/cub.js
@@ -173,7 +173,7 @@ cubApp.get('/last_state_values', rqf.parse(), rqf.build(), (req, res, next) => {
             )
             .join('estado', null, 'cub.estado_id = estado.id')
             , "states")
-        .field('AVG(states.preco)', 'preco')
+        .field('CAST(AVG(states.preco) AS INTEGER)', 'preco')
         .field("'BR'", 'sigla_uf')
         .field('states.tipo_preco')
         .group('states.tipo_preco')
@@ -200,7 +200,7 @@ cubApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
             req.sql.from('cub')
             .field("'BR'", 'sigla_uf')
             .field("cub.tipo_preco", 'tipo_preco')
-            .field('AVG(cub.preco)', 'preco')
+            .field('CAST(AVG(cub.preco) AS INTEGER)', 'preco')
             .join('estado', null, 'cub.estado_id=estado.id')
             .group('cub.ano_censo')
             .group('cub.mes_censo')
diff --git a/src/libs/routes_v1/dailyChargeAmount.js b/src/libs/routes_v1/dailyChargeAmount.js
index 4af6cb7d378442e789962ab5fe86d6dea1ed6776..ae376e317b11bea706ecda527642268b9d455d0e 100644
--- a/src/libs/routes_v1/dailyChargeAmount.js
+++ b/src/libs/routes_v1/dailyChargeAmount.js
@@ -357,7 +357,7 @@ dailyChargeAmountApp.get('/', rqf.parse(), (req, res, next) => {
         req.sql.from('turma')
             .field('turma.ano_censo', 'year')
             .field('turma.etapa_resumida', 'education_level_short_id')
-            .field('AVG(turma.duracao_turma)/60.0', 'average_class_duration')
+            .field('CAST(AVG(turma.duracao_turma)/60.0 AS INTEGER)', 'average_class_duration')
             .field('MEDIAN(turma.duracao_turma)/60.0', 'median_class_duration')
             .field('STDDEV_SAMP(turma.duracao_turma)/60.0', 'std_class_duration')
             .field('QUANTILE(turma.duracao_turma, 0.25)/60.0', 'fstqt_class_duration')
@@ -425,7 +425,7 @@ dailyChargeAmountApp.get('/average', rqf.parse(), rqf.build(), (req, res, next)
 
         let tableG = baseQ.clone();
         tableG.from('turma')
-            .field('1+COUNT(*)', 'counter')
+            .field('1+CAST(COUNT(*) AS INTEGER)', 'counter')
             .field('etapas_mod_ensino_segmento_id')
             .where('((turma.tipo_turma_id <= 3 AND turma.tipo_atendimento_id is NULL) OR (turma.tipo_atendimento_id <= 2 AND turma.tipo_turma_id is NULL))')
             .group('etapas_mod_ensino_segmento_id')
@@ -433,7 +433,7 @@ dailyChargeAmountApp.get('/average', rqf.parse(), rqf.build(), (req, res, next)
         let joinRG = squel.select();
         joinRG.from(tableR, 'R')
             .field('R.etapas_mod_ensino_segmento_id')
-            .field('AVG(1.0*R.duracao_turma)/60', 'median_value')
+            .field('CAST(AVG(1.0*R.duracao_turma)/60 AS INTEGER)', 'median_value')
             .join(tableG, 'G', 'R.etapas_mod_ensino_segmento_id = G.etapas_mod_ensino_segmento_id AND R.rowNo BETWEEN G.counter/2 AND G.counter/2+G.counter%2')
             .group('R.etapas_mod_ensino_segmento_id')
 
@@ -442,8 +442,8 @@ dailyChargeAmountApp.get('/average', rqf.parse(), rqf.build(), (req, res, next)
             .from(joinRG, 'm')
             .field('turma.ano_censo', 'year')
             .field('turma.etapas_mod_ensino_segmento_id', 'education_level_mod_id')
-            .field('AVG(turma.duracao_turma)/60.0', 'average_class_duration')
-            .field('AVG(m.median_value)', 'median_class_duration')
+            .field('CAST(AVG(turma.duracao_turma)/60.0 AS INTEGER)', 'average_class_duration')
+            .field('CAST(AVG(m.median_value) AS INTEGER)', 'median_class_duration')
             .field('STDDEV_SAMP(turma.duracao_turma)/60.0', 'std_class_duration')
             .field('QUANTILE(turma.duracao_turma, 0.25)/60.0', 'fstqt_class_duration')
             .field('QUANTILE(turma.duracao_turma, 0.75)/60.0', 'thdqt_class_duration')
diff --git a/src/libs/routes_v1/disciplines.js b/src/libs/routes_v1/disciplines.js
index 63b05f327152d7deaa4122d05fbbc0f80355a5a4..649125cc5220ce9d9410489177cf5bf8eaf79f26 100644
--- a/src/libs/routes_v1/disciplines.js
+++ b/src/libs/routes_v1/disciplines.js
@@ -465,65 +465,65 @@ disciplinesApp.get('/', rqf.parse(), (req, res, next) => {
         delete req.dims.discipline;
         req.tmp_discipline = true;
 
-        req.sql.field('SUM(n_disc)', 'total')
-            .field('SUM(n_disc_adequada)', 'total_suitable')
+        req.sql.field('CAST(SUM(n_disc) AS INTEGER)', 'total')
+            .field('CAST(SUM(n_disc_adequada) AS INTEGER)', 'total_suitable')
 
-            .field('SUM(quimica_not_null)', 'total_quimica')
-            .field('SUM(adequacao_quimica)', 'total_suitable_quimica')
+            .field('CAST(SUM(quimica_not_null) AS INTEGER)', 'total_quimica')
+            .field('CAST(SUM(adequacao_quimica) AS INTEGER)', 'total_suitable_quimica')
 
-            .field('SUM(fisica_not_null)', 'total_fisica')
-            .field('SUM(adequacao_fisica)', 'total_suitable_fisica')
+            .field('CAST(SUM(fisica_not_null) AS INTEGER)', 'total_fisica')
+            .field('CAST(SUM(adequacao_fisica) AS INTEGER)', 'total_suitable_fisica')
 
-            .field('SUM(matematica_not_null)', 'total_matematica')
-            .field('SUM(adequacao_matematica)', 'total_suitable_matematica')
+            .field('CAST(SUM(matematica_not_null) AS INTEGER)', 'total_matematica')
+            .field('CAST(SUM(adequacao_matematica) AS INTEGER)', 'total_suitable_matematica')
 
-            .field('SUM(biologia_not_null)', 'total_biologia')
-            .field('SUM(adequacao_biologia)', 'total_suitable_biologia')
+            .field('CAST(SUM(biologia_not_null) AS INTEGER)', 'total_biologia')
+            .field('CAST(SUM(adequacao_biologia) AS INTEGER)', 'total_suitable_biologia')
 
-            .field('SUM(ciencias_not_null)', 'total_ciencias')
-            .field('SUM(adequacao_ciencias)', 'total_suitable_ciencias')
+            .field('CAST(SUM(ciencias_not_null) AS INTEGER)', 'total_ciencias')
+            .field('CAST(SUM(adequacao_ciencias) AS INTEGER)', 'total_suitable_ciencias')
 
-            .field('SUM(lingua_portuguesa_not_null)', 'total_lingua_portuguesa')
-            .field('SUM(adequacao_lingua_portuguesa)', 'total_suitable_lingua_portuguesa')
+            .field('CAST(SUM(lingua_portuguesa_not_null) AS INTEGER)', 'total_lingua_portuguesa')
+            .field('CAST(SUM(adequacao_lingua_portuguesa) AS INTEGER)', 'total_suitable_lingua_portuguesa')
 
-            .field('SUM(lingua_inglesa_not_null)', 'total_lingua_inglesa')
-            .field('SUM(adequacao_lingua_inglesa)', 'total_suitable_lingua_inglesa')
+            .field('CAST(SUM(lingua_inglesa_not_null) AS INTEGER)', 'total_lingua_inglesa')
+            .field('CAST(SUM(adequacao_lingua_inglesa) AS INTEGER)', 'total_suitable_lingua_inglesa')
 
-            .field('SUM(lingua_espanhola_not_null)', 'total_lingua_espanhola')
-            .field('SUM(adequacao_lingua_espanhola)', 'total_suitable_lingua_espanhola')
+            .field('CAST(SUM(lingua_espanhola_not_null) AS INTEGER)', 'total_lingua_espanhola')
+            .field('CAST(SUM(adequacao_lingua_espanhola) AS INTEGER)', 'total_suitable_lingua_espanhola')
 
-            .field('SUM(lingua_francesa_not_null)', 'total_lingua_francesa')
-            .field('SUM(adequacao_lingua_francesa)', 'total_suitable_lingua_francesa')
+            .field('CAST(SUM(lingua_francesa_not_null) AS INTEGER)', 'total_lingua_francesa')
+            .field('CAST(SUM(adequacao_lingua_francesa) AS INTEGER)', 'total_suitable_lingua_francesa')
 
-            .field('SUM(lingua_outra_not_null)', 'total_lingua_outra')
-            .field('SUM(adequacao_lingua_outra)', 'total_suitable_lingua_outra')
+            .field('CAST(SUM(lingua_outra_not_null) AS INTEGER)', 'total_lingua_outra')
+            .field('CAST(SUM(adequacao_lingua_outra) AS INTEGER)', 'total_suitable_lingua_outra')
 
-            .field('SUM(lingua_indigena_not_null)', 'total_lingua_indigena')
-            .field('SUM(adequacao_lingua_indigena)', 'total_suitable_lingua_indigena')
+            .field('CAST(SUM(lingua_indigena_not_null) AS INTEGER)', 'total_lingua_indigena')
+            .field('CAST(SUM(adequacao_lingua_indigena) AS INTEGER)', 'total_suitable_lingua_indigena')
 
-            .field('SUM(artes_not_null)', 'total_artes')
-            .field('SUM(adequacao_artes)', 'total_suitable_artes')
+            .field('CAST(SUM(artes_not_null) AS INTEGER)', 'total_artes')
+            .field('CAST(SUM(adequacao_artes) AS INTEGER)', 'total_suitable_artes')
 
-            .field('SUM(educacao_fisica_not_null)', 'total_educacao_fisica')
-            .field('SUM(adequacao_educacao_fisica)', 'total_suitable_educacao_fisica')
+            .field('CAST(SUM(educacao_fisica_not_null) AS INTEGER)', 'total_educacao_fisica')
+            .field('CAST(SUM(adequacao_educacao_fisica) AS INTEGER)', 'total_suitable_educacao_fisica')
 
-            .field('SUM(historia_not_null)', 'total_historia')
-            .field('SUM(adequacao_historia)', 'total_suitable_historia')
+            .field('CAST(SUM(historia_not_null) AS INTEGER)', 'total_historia')
+            .field('CAST(SUM(adequacao_historia) AS INTEGER)', 'total_suitable_historia')
 
-            .field('SUM(geografia_not_null)', 'total_geografia')
-            .field('SUM(adequacao_geografia)', 'total_suitable_geografia')
+            .field('CAST(SUM(geografia_not_null) AS INTEGER)', 'total_geografia')
+            .field('CAST(SUM(adequacao_geografia) AS INTEGER)', 'total_suitable_geografia')
 
-            .field('SUM(filosofia_not_null)', 'total_filosofia')
-            .field('SUM(adequacao_filosofia)', 'total_suitable_filosofia')
+            .field('CAST(SUM(filosofia_not_null) AS INTEGER)', 'total_filosofia')
+            .field('CAST(SUM(adequacao_filosofia) AS INTEGER)', 'total_suitable_filosofia')
 
-            .field('SUM(ensino_religioso_not_null)', 'total_ensino_religioso')
-            .field('SUM(adequacao_ensino_religioso)', 'total_suitable_ensino_religioso')
+            .field('CAST(SUM(ensino_religioso_not_null) AS INTEGER)', 'total_ensino_religioso')
+            .field('CAST(SUM(adequacao_ensino_religioso) AS INTEGER)', 'total_suitable_ensino_religioso')
 
-            .field('SUM(estudos_sociais_not_null)', 'total_estudos_sociais')
-            .field('SUM(adequacao_estudos_sociais)', 'total_suitable_estudos_sociais')
+            .field('CAST(SUM(estudos_sociais_not_null) AS INTEGER)', 'total_estudos_sociais')
+            .field('CAST(SUM(adequacao_estudos_sociais) AS INTEGER)', 'total_suitable_estudos_sociais')
 
-            .field('SUM(sociologia_not_null)', 'total_sociologia')
-            .field('SUM(adequacao_sociologia)', 'total_suitable_sociologia')
+            .field('CAST(SUM(sociologia_not_null) AS INTEGER)', 'total_sociologia')
+            .field('CAST(SUM(adequacao_sociologia) AS INTEGER)', 'total_suitable_sociologia')
 
             .field("'Brasil'", 'name')
             .field('docente.ano_censo', 'year')
@@ -538,8 +538,8 @@ disciplinesApp.get('/', rqf.parse(), (req, res, next) => {
     else if ('discipline' in req.filter) {
         const disciplines = ['quimica', 'fisica', 'matematica', 'biologia', 'ciencias', 'lingua_portuguesa', 'lingua_inglesa', 'lingua_espanhola', 'lingua_francesa', 'lingua_outra', 'lingua_indigena', 'artes', 'educacao_fisica', 'historia', 'geografia', 'filosofia', 'ensino_religioso', 'estudos_sociais', 'sociologia']
 
-        let totalQuery = 'SUM('
-        let totalSuitableQuery = 'SUM('
+        let totalQuery = 'CAST(SUM('
+        let totalSuitableQuery = 'CAST(SUM('
 
         if (!(req.filter.discipline instanceof Array)) req.filter.discipline = [req.filter.discipline]
 
@@ -547,8 +547,8 @@ disciplinesApp.get('/', rqf.parse(), (req, res, next) => {
             totalQuery += disciplines[d - 1] + '_not_null + '
             totalSuitableQuery += 'adequacao_' + disciplines[d - 1] + ' + '
         })
-        totalQuery = totalQuery.slice(0, -2) + ')'
-        totalSuitableQuery = totalSuitableQuery.slice(0, -2) + ')'
+        totalQuery = totalQuery.slice(0, -2) + ') AS INTEGER)'
+        totalSuitableQuery = totalSuitableQuery.slice(0, -2) + ') AS INTEGER)'
 
         delete req.filter.discipline;
 
@@ -566,8 +566,8 @@ disciplinesApp.get('/', rqf.parse(), (req, res, next) => {
                 docente.etapas_mod_ensino_segmento_id <> 6 AND docente.etapas_mod_ensino_segmento_id <> 12');
     }
     else {
-        req.sql.field('SUM(n_disc)', 'total')
-            .field('SUM(n_disc_adequada)', 'total_suitable')
+        req.sql.field('CAST(SUM(n_disc) AS INTEGER)', 'total')
+            .field('CAST(SUM(n_disc_adequada) AS INTEGER)', 'total_suitable')
             .field("'Brasil'", 'name')
             .field('docente.ano_censo', 'year')
             .from('docente')
diff --git a/src/libs/routes_v1/educationalBudget.js b/src/libs/routes_v1/educationalBudget.js
index c6fb724eabe34cd5d14d5ad4c5a918b051832915..819045a98ac61e6165e48d978eb3ab99a6a0b06b 100644
--- a/src/libs/routes_v1/educationalBudget.js
+++ b/src/libs/routes_v1/educationalBudget.js
@@ -236,7 +236,7 @@ educationalBudget.get('/id', rqfId.parse(), rqfId.build(), (req, res, next) => {
 
 //Return count id grouop by entidade_federativa
 educationalBudget.get('/finish', rqf.parse(), (req, res, next) => {
-        req.sql.field('COUNT(*)', 'total')
+        req.sql.field('CAST(COUNT(*) AS INTEGER)', 'total')
         .field('orcamento_educacional.entidade_federativa', 'entidade_federativa')
         .from('orcamento_educacional')
         .group('orcamento_educacional.entidade_federativa')
diff --git a/src/libs/routes_v1/employees.js b/src/libs/routes_v1/employees.js
index 1ef4e7fd0a3b29ae0b2725b1cbdc3cd1b318f7e4..9323b323504cdbe908806ea3fa1db8c4aa208b0c 100644
--- a/src/libs/routes_v1/employees.js
+++ b/src/libs/routes_v1/employees.js
@@ -578,7 +578,7 @@ employeesApp.get('/', rqfSchool.parse(), (req, res, next) => {
 
     if ("function" in req.dims) {
         delete req.dims.function;
-        req.sql.field('SUM(funcionarios_por_escola.total)', 'qtde_null')
+        req.sql.field('CAST(SUM(funcionarios_por_escola.total) AS INTEGER)', 'qtde_null')
         .field('funcionarios_por_escola.ano_censo', 'year')
         .from('funcionarios_por_escola')
         .group('funcionarios_por_escola.ano_censo')
@@ -586,7 +586,7 @@ employeesApp.get('/', rqfSchool.parse(), (req, res, next) => {
 				.where('funcionarios_por_escola.ano_censo <> 2009 or funcionarios_por_escola.estado_id <> 42')
     } else {
         delete req.dims.function;
-        req.sql.field('SUM(funcionarios_por_escola.total)', 'total')
+        req.sql.field('CAST(SUM(funcionarios_por_escola.total) AS INTEGER)', 'total')
         .field('funcionarios_por_escola.ano_censo', 'year')
         .from('funcionarios_por_escola')
         .group('funcionarios_por_escola.ano_censo')
@@ -600,19 +600,19 @@ employeesApp.get('/', rqfSchool.parse(), (req, res, next) => {
     req.allTeacher = req.result;
     req.resetSql();
     if ("function" in req.dims) {
-        req.sql.field('SUM(CASE WHEN escola.qt_prof_admin = 88888 THEN 0 ELSE escola.qt_prof_admin END)', 'qtde_admin')
-        .field('SUM(CASE WHEN escola.qtde_prof_servicos_gerais = 88888 THEN 0 ELSE escola.qtde_prof_servicos_gerais END) AS qtde_servicos_gerais')
-        .field('SUM(CASE WHEN escola.qtde_prof_bibliotecario = 88888 THEN 0 ELSE escola.qtde_prof_bibliotecario END)', 'qtde_bibliotecario')
-        .field('SUM(CASE WHEN escola.qtde_prof_saude = 88888 THEN 0 ELSE escola.qtde_prof_saude END)','qtde_saude')
-        .field('SUM(CASE WHEN escola.qtde_prof_coordenador = 88888 THEN 0 ELSE escola.qtde_prof_coordenador END)','qtde_coordenador')
-        .field('SUM(CASE WHEN escola.qtde_prof_fono = 88888 THEN 0 ELSE escola.qtde_prof_fono END)','qtde_fono')
-        .field('SUM(CASE WHEN escola.qtde_prof_nutricionista = 88888 THEN 0 ELSE escola.qtde_prof_nutricionista END)', 'qtde_nutricionista')
-        .field('SUM(CASE WHEN escola.qtde_prof_psicologo = 88888 THEN 0 ELSE escola.qtde_prof_psicologo END)', 'qtde_psicologo')
-        .field('SUM(CASE WHEN escola.qtde_prof_alimentacao = 88888 THEN 0 ELSE escola.qtde_prof_alimentacao END)','qtde_alimentacao')
-        .field('SUM(CASE WHEN escola.qtde_prof_pedagogia = 88888 THEN 0 ELSE escola.qtde_prof_pedagogia END)', 'qtde_pedagogia')
-        .field('SUM(CASE WHEN escola.qtde_prof_secretario = 88888 THEN 0 ELSE escola.qtde_prof_secretario END)','qtde_secretario')
-        .field('SUM(CASE WHEN escola.qtde_prof_seguranca = 88888 THEN 0 ELSE escola.qtde_prof_seguranca END)','qtde_seguranca')
-        .field('SUM(CASE WHEN escola.qtde_prof_monitores = 88888 THEN 0 ELSE escola.qtde_prof_monitores END)', 'qtde_monitores')
+        req.sql.field('CAST(SUM(CASE WHEN escola.qt_prof_admin = 88888 THEN 0 ELSE escola.qt_prof_admin END) AS INTEGER)', 'qtde_admin')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_servicos_gerais = 88888 THEN 0 ELSE escola.qtde_prof_servicos_gerais END) AS INTEGER) AS qtde_servicos_gerais')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_bibliotecario = 88888 THEN 0 ELSE escola.qtde_prof_bibliotecario END) AS INTEGER)', 'qtde_bibliotecario')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_saude = 88888 THEN 0 ELSE escola.qtde_prof_saude END) AS INTEGER)','qtde_saude')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_coordenador = 88888 THEN 0 ELSE escola.qtde_prof_coordenador END) AS INTEGER)','qtde_coordenador')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_fono = 88888 THEN 0 ELSE escola.qtde_prof_fono END) AS INTEGER)','qtde_fono')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_nutricionista = 88888 THEN 0 ELSE escola.qtde_prof_nutricionista END) AS INTEGER)', 'qtde_nutricionista')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_psicologo = 88888 THEN 0 ELSE escola.qtde_prof_psicologo END) AS INTEGER)', 'qtde_psicologo')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_alimentacao = 88888 THEN 0 ELSE escola.qtde_prof_alimentacao END) AS INTEGER)','qtde_alimentacao')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_pedagogia = 88888 THEN 0 ELSE escola.qtde_prof_pedagogia END) AS INTEGER)', 'qtde_pedagogia')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_secretario = 88888 THEN 0 ELSE escola.qtde_prof_secretario END) AS INTEGER)','qtde_secretario')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_seguranca = 88888 THEN 0 ELSE escola.qtde_prof_seguranca END) AS INTEGER)','qtde_seguranca')
+        .field('CAST(SUM(CASE WHEN escola.qtde_prof_monitores = 88888 THEN 0 ELSE escola.qtde_prof_monitores END) AS INTEGER)', 'qtde_monitores')
         .field("'Brasil'", 'name')
         .field('escola.ano_censo', 'year')
         .from('escola')
@@ -621,7 +621,7 @@ employeesApp.get('/', rqfSchool.parse(), (req, res, next) => {
         .where('(escola.situacao_funcionamento_pareada = 1) AND (escola.ensino_regular = 1 OR escola.ensino_eja = 1 OR escola.educacao_profissional = 1) AND (escola.dependencia_adm_id = 2 OR escola.dependencia_adm_id = 3 OR escola.dependencia_adm_id = 4) and ano_censo >= 2019');
         delete req.dims.function;
     } else {
-        req.sql.field('SUM(CASE WHEN escola.qt_prof_admin = 88888 THEN 0 ELSE escola.qt_prof_admin END) + SUM(CASE WHEN escola.qtde_prof_servicos_gerais = 88888 THEN 0 ELSE escola.qtde_prof_servicos_gerais END) + SUM(CASE WHEN escola.qtde_prof_bibliotecario = 88888 THEN 0 ELSE escola.qtde_prof_bibliotecario END) + SUM(CASE WHEN escola.qtde_prof_saude = 88888 THEN 0 ELSE escola.qtde_prof_saude END) + SUM(CASE WHEN escola.qtde_prof_coordenador = 88888 THEN 0 ELSE escola.qtde_prof_coordenador END) + SUM(CASE WHEN escola.qtde_prof_fono = 88888 THEN 0 ELSE escola.qtde_prof_fono END) + SUM(CASE WHEN escola.qtde_prof_nutricionista = 88888 THEN 0 ELSE escola.qtde_prof_nutricionista END) + SUM(CASE WHEN escola.qtde_prof_psicologo = 88888 THEN 0 ELSE escola.qtde_prof_psicologo END) + SUM(CASE WHEN escola.qtde_prof_alimentacao = 88888 THEN 0 ELSE escola.qtde_prof_alimentacao END) + SUM(CASE WHEN escola.qtde_prof_pedagogia = 88888 THEN 0 ELSE escola.qtde_prof_pedagogia END) + SUM(CASE WHEN escola.qtde_prof_secretario = 88888 THEN 0 ELSE escola.qtde_prof_secretario END) + SUM(CASE WHEN escola.qtde_prof_seguranca = 88888 THEN 0 ELSE escola.qtde_prof_seguranca END) + SUM(CASE WHEN escola.qtde_prof_monitores = 88888 THEN 0 ELSE escola.qtde_prof_monitores END)', 'total')
+        req.sql.field('CAST(SUM(CASE WHEN escola.qt_prof_admin = 88888 THEN 0 ELSE escola.qt_prof_admin END) + SUM(CASE WHEN escola.qtde_prof_servicos_gerais = 88888 THEN 0 ELSE escola.qtde_prof_servicos_gerais END) + SUM(CASE WHEN escola.qtde_prof_bibliotecario = 88888 THEN 0 ELSE escola.qtde_prof_bibliotecario END) + SUM(CASE WHEN escola.qtde_prof_saude = 88888 THEN 0 ELSE escola.qtde_prof_saude END) + SUM(CASE WHEN escola.qtde_prof_coordenador = 88888 THEN 0 ELSE escola.qtde_prof_coordenador END) + SUM(CASE WHEN escola.qtde_prof_fono = 88888 THEN 0 ELSE escola.qtde_prof_fono END) + SUM(CASE WHEN escola.qtde_prof_nutricionista = 88888 THEN 0 ELSE escola.qtde_prof_nutricionista END) + SUM(CASE WHEN escola.qtde_prof_psicologo = 88888 THEN 0 ELSE escola.qtde_prof_psicologo END) + SUM(CASE WHEN escola.qtde_prof_alimentacao = 88888 THEN 0 ELSE escola.qtde_prof_alimentacao END) + SUM(CASE WHEN escola.qtde_prof_pedagogia = 88888 THEN 0 ELSE escola.qtde_prof_pedagogia END) + SUM(CASE WHEN escola.qtde_prof_secretario = 88888 THEN 0 ELSE escola.qtde_prof_secretario END) + SUM(CASE WHEN escola.qtde_prof_seguranca = 88888 THEN 0 ELSE escola.qtde_prof_seguranca END) + SUM(CASE WHEN escola.qtde_prof_monitores = 88888 THEN 0 ELSE escola.qtde_prof_monitores END) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('escola.ano_censo', 'year')
         .from('escola')
diff --git a/src/libs/routes_v1/enrollment.js b/src/libs/routes_v1/enrollment.js
index 872593852ad783b18d3491405184d63132558872..d142d244331be8057a419d53ea135f202ec79d0c 100644
--- a/src/libs/routes_v1/enrollment.js
+++ b/src/libs/routes_v1/enrollment.js
@@ -793,20 +793,20 @@ enrollmentApp.get('/', rqf.parse(), (req, res, next) => {
     if('pee_por_categoria' in req.dims){
         delete req.dims.pee_por_categoria
         req.pee_por_categoria = true
-        req.sql.field('SUM(CASE WHEN cegueira = true THEN 1 ELSE 0 END)', 'Cegueira')
-        .field('SUM(CASE WHEN baixa_visao = true THEN 1 ELSE 0 END)', 'Baixa visão')
-        .field('SUM(CASE WHEN surdez = true THEN 1 ELSE 0 END)', 'Surdez')
-        .field('SUM(CASE WHEN deficiencia_auditiva = true THEN 1 ELSE 0 END)', 'Deficiência auditiva')
-        .field('SUM(CASE WHEN surdo_cegueira = true THEN 1 ELSE 0 END)', 'Surdocegueira')
-        .field('SUM(CASE WHEN deficiencia_fisica = true THEN 1 ELSE 0 END)', 'Deficiência física')
-        .field('SUM(CASE WHEN deficiencia_intelectual = true THEN 1 ELSE 0 END)', 'Deficiência intelectual')
-        .field('SUM(CASE WHEN deficiencia_multiplas = true THEN 1 ELSE 0 END)', 'Deficiências múltiplas')
-        .field('SUM(CASE WHEN autismo = true THEN 1 ELSE 0 END)', 'Autismo')
-        .field('SUM(CASE WHEN transtorno_espectro_autista = true THEN 1 ELSE 0 END)', 'Transtorno do Espectro Autista (TEA)')
-        .field('SUM(CASE WHEN sindrome_asperger = true THEN 1 ELSE 0 END)', 'Síndrome de Asperger')
-        .field('SUM(CASE WHEN sindrome_rett = true THEN 1 ELSE 0 END)', 'Síndrome de Rett')
-        .field('SUM(CASE WHEN transtorno_desintegrativo_da_infancia = true THEN 1 ELSE 0 END)', 'Transtorno desintegrativo da infância')
-        .field('SUM(CASE WHEN superdotado = true THEN 1 ELSE 0 END)', 'Altas habilidades / Superdotação')
+        req.sql.field('CAST(SUM(CASE WHEN cegueira = true THEN 1 ELSE 0 END) AS INTEGER)', 'Cegueira')
+        .field('CAST(SUM(CASE WHEN baixa_visao = true THEN 1 ELSE 0 END) AS INTEGER)', 'Baixa visão')
+        .field('CAST(SUM(CASE WHEN surdez = true THEN 1 ELSE 0 END) AS INTEGER)', 'Surdez')
+        .field('CAST(SUM(CASE WHEN deficiencia_auditiva = true THEN 1 ELSE 0 END) AS INTEGER)', 'Deficiência auditiva')
+        .field('CAST(SUM(CASE WHEN surdo_cegueira = true THEN 1 ELSE 0 END) AS INTEGER)', 'Surdocegueira')
+        .field('CAST(SUM(CASE WHEN deficiencia_fisica = true THEN 1 ELSE 0 END) AS INTEGER)', 'Deficiência física')
+        .field('CAST(SUM(CASE WHEN deficiencia_intelectual = true THEN 1 ELSE 0 END) AS INTEGER)', 'Deficiência intelectual')
+        .field('CAST(SUM(CASE WHEN deficiencia_multiplas = true THEN 1 ELSE 0 END) AS INTEGER)', 'Deficiências múltiplas')
+        .field('CAST(SUM(CASE WHEN autismo = true THEN 1 ELSE 0 END) AS INTEGER)', 'Autismo')
+        .field('CAST(SUM(CASE WHEN transtorno_espectro_autista = true THEN 1 ELSE 0 END) AS INTEGER)', 'Transtorno do Espectro Autista (TEA)')
+        .field('CAST(SUM(CASE WHEN sindrome_asperger = true THEN 1 ELSE 0 END) AS INTEGER)', 'Síndrome de Asperger')
+        .field('CAST(SUM(CASE WHEN sindrome_rett = true THEN 1 ELSE 0 END) AS INTEGER)', 'Síndrome de Rett')
+        .field('CAST(SUM(CASE WHEN transtorno_desintegrativo_da_infancia = true THEN 1 ELSE 0 END) AS INTEGER)', 'Transtorno desintegrativo da infância')
+        .field('CAST(SUM(CASE WHEN superdotado = true THEN 1 ELSE 0 END) AS INTEGER)', 'Altas habilidades / Superdotação')
         .field('matricula.ano_censo', 'year')
         .from('matricula')
         .group('matricula.ano_censo')
@@ -814,7 +814,7 @@ enrollmentApp.get('/', rqf.parse(), (req, res, next) => {
         .where('((matricula.tipo<=3 OR matricula.tipo IS NULL) AND (matricula.tipo_atendimento_turma IS NULL OR matricula.tipo_atendimento_turma <= 2))');
     }
     else{
-        req.sql.field('COUNT(*)', 'total')
+        req.sql.field('CAST(COUNT(*) AS INTEGER)', 'total')
         .field('matricula.ano_censo', 'year')
         .from('matricula')
         .group('matricula.ano_censo')
@@ -852,7 +852,7 @@ enrollmentApp.get('/diagnosis', rqf.parse(), (req, res, next) => {
     req.dims.location = true;
     req.dims.adm_dependency_detailed = true;
 
-    req.sql.field('COUNT(*)', 'total')
+    req.sql.field('CAST(COUNT(*) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('matricula.ano_censo', 'year')
     .from('matricula')
@@ -1071,7 +1071,7 @@ enrollmentApp.get('/projection', rqf.parse(), (req, res, next) => {
     req.dims.period = true;
     req.filter.adm_dependency = [1,2,3];
 
-    req.sql.field('COUNT(*)', 'total')
+    req.sql.field('CAST(COUNT(*) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('matricula.ano_censo', 'year')
     .from('matricula')
diff --git a/src/libs/routes_v1/enrollmentProjection.js b/src/libs/routes_v1/enrollmentProjection.js
index 4dd92e5df7985a6bb34632dfc3b4a685c5873e64..76ac21c673a9f40836c6b32f1cb2798ac6a451b3 100644
--- a/src/libs/routes_v1/enrollmentProjection.js
+++ b/src/libs/routes_v1/enrollmentProjection.js
@@ -140,10 +140,10 @@ rqf.addField({
 
 enrollmentProjectionApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.sql.field("'Brasil'", 'name')
-        .field('SUM(projecao_matricula_por_dependencia.urbano_dia_total)', 'urban_day_total')
-        .field('SUM(projecao_matricula_por_dependencia.urbano_noite_total)', 'urban_night_total')
-        .field('SUM(projecao_matricula_por_dependencia.rural_dia_total)', 'rural_day_total')
-        .field('SUM(projecao_matricula_por_dependencia.rural_noite_total)', 'rural_night_total')
+        .field('CAST(SUM(projecao_matricula_por_dependencia.urbano_dia_total) AS INTEGER)', 'urban_day_total')
+        .field('CAST(SUM(projecao_matricula_por_dependencia.urbano_noite_total) AS INTEGER)', 'urban_night_total')
+        .field('CAST(SUM(projecao_matricula_por_dependencia.rural_dia_total) AS INTEGER)', 'rural_day_total')
+        .field('CAST(SUM(projecao_matricula_por_dependencia.rural_noite_total) AS INTEGER)', 'rural_night_total')
         .field('projecao_matricula_por_dependencia.etapa_ensino_escola_ano_id', 'education_level_school_year_id')
         .field('projecao_matricula_por_dependencia.ano_censo', 'year')
         .from('projecao_matricula_por_dependencia')
diff --git a/src/libs/routes_v1/glossEnrollmentRatio.js b/src/libs/routes_v1/glossEnrollmentRatio.js
index ab57e325096c56fa71287d38b4185f29ddf5c1bf..781ddfb2d00d09d09e96ff9fde83015586679cb6 100644
--- a/src/libs/routes_v1/glossEnrollmentRatio.js
+++ b/src/libs/routes_v1/glossEnrollmentRatio.js
@@ -310,7 +310,7 @@ glossEnrollmentRatioApp.get('/', rqf.parse(),(req, res, next) => {
     let glossEnrollmentRatioApp = {};
 
     req.sql.from('matricula')
-    .field('count(*)', 'total')
+    .field('CAST(count(*) AS INTEGER)', 'total')
     .field('matricula.ano_censo', 'year')
     .group('matricula.ano_censo')
     .order('matricula.ano_censo')
diff --git a/src/libs/routes_v1/infrastructure.js b/src/libs/routes_v1/infrastructure.js
index 1ececa918e451d702b1319511a8dca0230e3eae8..e92a680de6939980fc0e2556a62b25c3af8b707d 100644
--- a/src/libs/routes_v1/infrastructure.js
+++ b/src/libs/routes_v1/infrastructure.js
@@ -302,7 +302,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     // Local de funcionamento
     let allSchools = req.sql.clone();
-    allSchools.from('escola').field('COUNT(escola.id)', 'total')
+    allSchools.from('escola').field('CAST(COUNT(escola.id) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('escola.ano_censo', 'year')
     .group('escola.ano_censo')
diff --git a/src/libs/routes_v1/liquidEnrollmentRatio.js b/src/libs/routes_v1/liquidEnrollmentRatio.js
index 63bd91685a8df488731a267d268a929a6252a8df..ded59aec264baa675b8f67d33ae42db4858e2801 100644
--- a/src/libs/routes_v1/liquidEnrollmentRatio.js
+++ b/src/libs/routes_v1/liquidEnrollmentRatio.js
@@ -339,7 +339,7 @@ liquidEnrollmentRatioApp.get('/', rqf.parse(),(req, res, next) => {
     let liquidEnrollmentRatioApp = {};
 
     req.sql.from('matricula')
-    .field('count(*)', 'total')
+    .field('CAST(count(*) AS INTEGER)', 'total')
     .field('matricula.ano_censo', 'year')
     .group('matricula.ano_censo')
     .order('matricula.ano_censo')
diff --git a/src/libs/routes_v1/outOfSchool.js b/src/libs/routes_v1/outOfSchool.js
index fcd57867675e0556f57c46fccc71af4cfacb787e..d1ef8153335d11b6739d90823b6ac4721c525055 100644
--- a/src/libs/routes_v1/outOfSchool.js
+++ b/src/libs/routes_v1/outOfSchool.js
@@ -251,7 +251,7 @@ rqf.addField({
 
 outOfSchoolApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.sql.from('pnad')
-    .field('SUM(pnad.peso)', 'total')
+    .field('CAST(SUM(pnad.peso) AS INTEGER)', 'total')
     .field('pnad.ano_censo', 'year')
     .where('pnad.escolaridade_familiar >= 1 AND pnad.escolaridade_familiar <= 4 AND pnad.frequenta_escola_creche = 4')
     .group('pnad.ano_censo')
@@ -351,14 +351,14 @@ outOfSchoolApp.get('/simcaq', simcaqRqf.parse(), (req, res, next) => {
         if ('city' in req.filter && 'state' in req.filter) delete req.filter.state   // use only the city filter because of the table particularities
 
         req.sql.from('populacao_fora_da_escola')
-        .field('SUM(populacao_fora_da_escola.pop_fora_escola)', 'total')
+        .field('CAST(SUM(populacao_fora_da_escola.pop_fora_escola) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('populacao_fora_da_escola.ano_censo')
         .group('populacao_fora_da_escola.ano_censo')
         .order('populacao_fora_da_escola.ano_censo');
     } else { // Query in 'Brasil' level
         req.sql.from('populacao_fora_da_escola')
-        .field('SUM(populacao_fora_da_escola.pop_fora_escola)', 'total')
+        .field('CAST(SUM(populacao_fora_da_escola.pop_fora_escola) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('populacao_fora_da_escola.ano_censo')
         .where('populacao_fora_da_escola.brasil = 1')
diff --git a/src/libs/routes_v1/pibpercapita.js b/src/libs/routes_v1/pibpercapita.js
index c5c77a924ecaa848ab8f6cfb38e25d4bf8455121..8fb2dfb6cb4f49682d87079fc511f602e168bb5a 100644
--- a/src/libs/routes_v1/pibpercapita.js
+++ b/src/libs/routes_v1/pibpercapita.js
@@ -217,7 +217,7 @@ pibpercapitaApp.get('/', rqf.parse(), (req, res, next) => {
       .order('ibge_pib.ano_censo')
   } else  {
       req.sql.from('ibge_pib')
-      .field('SUM(ibge_pib.pib)/SUM(ibge_pib.populacao)', 'total')
+      .field('CAST(SUM(ibge_pib.pib)/SUM(ibge_pib.populacao) AS INTEGER)', 'total')
       .field('ibge_pib.ano_censo', 'year')
       .group('ibge_pib.ano_censo')
       .order('ibge_pib.ano_censo')
diff --git a/src/libs/routes_v1/population.js b/src/libs/routes_v1/population.js
index fca3b0d6b309aba53aa0d9ff8e47eaf7d6f85d74..b5669ef7b9100ab7c27750305eee9b9a6f32a15a 100644
--- a/src/libs/routes_v1/population.js
+++ b/src/libs/routes_v1/population.js
@@ -152,7 +152,7 @@ rqf.addField({
 
 populationApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
   req.sql.from('ibge_pib')
-    .field('SUM(ibge_pib.populacao)', 'total')
+    .field('CAST(SUM(ibge_pib.populacao) AS INTEGER)', 'total')
     .field('ibge_pib.ano_censo', 'year')
     .group('ibge_pib.ano_censo')
     .order('ibge_pib.ano_censo')
diff --git a/src/libs/routes_v1/school.js b/src/libs/routes_v1/school.js
index 768325c314d7c6e9bdd0059bd8a420880ebdf83a..70b2d240e5267ab352ac2203828612c5e2156333 100644
--- a/src/libs/routes_v1/school.js
+++ b/src/libs/routes_v1/school.js
@@ -679,7 +679,7 @@ schoolApp.get('/count', cache('15 day'), rqfCount.parse(), (req, res, next) => {
 	let arrang = ["arranjo_creche", "arranjo_pre", "arranjo_fundamental_ai", "arranjo_fundamental_af", "arranjo_multietapa", "arranjo_ensino_medio", "ensino_eja", "educacao_profissional", "ensino_especial"];
 
     req.sql.from('escola')
-        .field('COUNT(escola.id)', 'total')
+        .field('CAST(COUNT(escola.id) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('escola.ano_censo', 'year')
         .group('escola.ano_censo')
diff --git a/src/libs/routes_v1/schoolInfrastructure.js b/src/libs/routes_v1/schoolInfrastructure.js
index c74f0e303b10407bb56faa9eb12c86f8ed6a9419..07207e93e7f005367206c5be27b17db8e794d7ed 100644
--- a/src/libs/routes_v1/schoolInfrastructure.js
+++ b/src/libs/routes_v1/schoolInfrastructure.js
@@ -328,7 +328,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
 
     // Local de funcionamento
     let allSchools = req.sql.clone();
-    allSchools.from('escola').field('COUNT(escola.id)', 'total')
+    allSchools.from('escola').field('CAST(COUNT(escola.id) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('escola.ano_censo', 'year')
     .group('escola.ano_censo')
@@ -348,7 +348,7 @@ infrastructureApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.queryIndex.allCountrySchools = req.querySet.push(allCountrySchools) - 1;
 
     let allSchoolsNotSchoolBuilding = req.sql.clone();
-    allSchoolsNotSchoolBuilding.from('escola').field('COUNT(escola.id)', 'total')
+    allSchoolsNotSchoolBuilding.from('escola').field('CAST(COUNT(escola.id) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('escola.ano_censo', 'year')
     .group('escola.ano_censo')
diff --git a/src/libs/routes_v1/spatial.js b/src/libs/routes_v1/spatial.js
index d4f48fe8eda00fe562b60e83bf69416c81694d33..0516b8779bda9b52df836a5e08f2439eaaa1cfda 100644
--- a/src/libs/routes_v1/spatial.js
+++ b/src/libs/routes_v1/spatial.js
@@ -130,7 +130,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const populationQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('SUM(populacao)', 'population')
+        .field('CAST(SUM(populacao) AS INTEGER)', 'population')
         .field('ibge_populacao.ano_censo', 'census_year')
         .from('ibge_populacao')
         .where(`ibge_populacao.ano_censo IN (${populationYearQry.toString()})`)
@@ -142,7 +142,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const pibQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('AVG(ibge_pib.pib_per_capita)', 'gdp_per_capita')
+        .field('CAST(AVG(ibge_pib.pib_per_capita) AS INTEGER)', 'gdp_per_capita')
         .field('ibge_pib.ano_censo', 'census_year')
         .from('ibge_pib')
         .where(`ibge_pib.ano_censo IN (${pibYearQry.toString()})`)
@@ -154,7 +154,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const idhQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('AVG(idhm)', 'idhm')
+        .field('CAST(AVG(idhm) AS INTEGER)', 'idhm')
         .field('adh_idh.ano_censo', 'census_year')
         .from('adh_idh')
         .where(`adh_idh.ano_censo IN (${idhYearQry.toString()})`)
@@ -166,7 +166,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const analfabQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('AVG(t_analf15m)', 'analfabetism')
+        .field('CAST(AVG(t_analf15m) AS INTEGER)', 'analfabetism')
         .field('adh_analfabetismo.ano_censo', 'census_year')
         .from('adh_analfabetismo')
         .where(`adh_analfabetismo.ano_censo IN (${analfabYearQry.toString()})`)
@@ -178,7 +178,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const giniQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('AVG(gini)', 'gini')
+        .field('CAST(AVG(gini) AS INTEGER)', 'gini')
         .field('adh_gini.ano_censo', 'census_year')
         .from('adh_gini')
         .where(`adh_gini.ano_censo IN (${giniYearQry.toString()})`)
@@ -206,7 +206,7 @@ spatialApp.get('/educational', rqf.parse(), rqf.build(), (req, res, next) => {
     const totalSchoolsQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
         .field('\'Total\'', 'location_name')
-        .field('COUNT(DISTINCT(escola.id))', 'total')
+        .field('CAST(COUNT(DISTINCT(escola.id)) AS INTEGER)', 'total')
         .field('escola.ano_censo', 'census_year')
         .from('turma')
         .from('escola')
@@ -217,7 +217,7 @@ spatialApp.get('/educational', rqf.parse(), rqf.build(), (req, res, next) => {
 
     const schoolsPerLocationQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('COUNT(DISTINCT(escola.id))', 'total')
+        .field('CAST(COUNT(DISTINCT(escola.id)) AS INTEGER)', 'total')
         .field('escola.ano_censo', 'census_year')
         .field('localizacao.descricao', 'location_name')
         .from('localizacao')
@@ -234,7 +234,7 @@ spatialApp.get('/educational', rqf.parse(), rqf.build(), (req, res, next) => {
 
     const schoolsPerAdmDependencyQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('COUNT(DISTINCT(escola.id))', 'total')
+        .field('CAST(COUNT(DISTINCT(escola.id)) AS INTEGER)', 'total')
         .field('escola.ano_censo', 'census_year')
         .field('dependencia_adm.nome', 'adm_dependency_name')
         .from('dependencia_adm')
@@ -310,7 +310,7 @@ spatialApp.get('/educational/school_level', rqf.parse(), rqf.build(), (req, res,
         .from('matricula');
 
     const enrollmentsPerSchoolLevelQry = req.sql.clone()
-        .field('COALESCE(COUNT(matricula.id), 0)', 'total')
+        .field('COALESCE(CAST(COUNT(matricula.id), 0) AS INTEGER)', 'total')
         .field('matricula.ano_censo', 'census_year')
         .field('matricula.serie_ano_id', 'school_year')
         .field('etapa_ensino.desc_etapa', 'school_level')
diff --git a/src/libs/routes_v1/studentsAee.js b/src/libs/routes_v1/studentsAee.js
index 2a45a2f5f038407b2fe6b9dbb4b44c504ce4e77e..000ea7c055c0923d2a2f8a1949f22a7dd0bdb93f 100644
--- a/src/libs/routes_v1/studentsAee.js
+++ b/src/libs/routes_v1/studentsAee.js
@@ -207,7 +207,7 @@ rqf.addField({
 studentsAeeApp.get('/', rqf.parse(), (req, res, next) => {
     req.sql.from('numero_estudantes_aee')
     .field('numero_estudantes_aee.ano_censo')
-    .field('COUNT(distinct numero_estudantes_aee.id_aluno)', 'total')
+    .field('CAST(COUNT(distinct numero_estudantes_aee.id_aluno) AS INTEGER)', 'total')
     .group('numero_estudantes_aee.ano_censo')
     .order('numero_estudantes_aee.ano_censo')
     next();
diff --git a/src/libs/routes_v1/teacher.js b/src/libs/routes_v1/teacher.js
index 94e6d86c60933d906b9f0f8264ebfd14da5534c4..570b24dd83939ab7d6bbf16a634bbc70d15b0b48 100644
--- a/src/libs/routes_v1/teacher.js
+++ b/src/libs/routes_v1/teacher.js
@@ -521,7 +521,7 @@ const sortYearPtid = (a, b) => {
 }
 
 teacherApp.get('/', rqf.parse(), (req, res, next) => {
-    req.sql.field('COUNT(DISTINCT docente.id_docente)', 'total')
+    req.sql.field('CAST(COUNT(DISTINCT docente.id_docente) as INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('docente.ano_censo', 'year')
     .from('docente')
diff --git a/src/libs/routes_v1/transport.js b/src/libs/routes_v1/transport.js
index 74c1b0954a8cb71cb5e5fd275cdb82143c4dc944..28df78b7b6125ea26e613af8321d8e0fc2bfdd43 100644
--- a/src/libs/routes_v1/transport.js
+++ b/src/libs/routes_v1/transport.js
@@ -315,7 +315,7 @@ rqf.addField({
 transportApp.get('/', rqf.parse(), (req, res, next) => {
     req.dims.year = true;
     req.sql
-        .field('sum(transporte.total)', 'total')
+        .field('CAST(sum(transporte.total) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .from('transporte')
         .where('transporte.transporte_id=0')
@@ -327,7 +327,7 @@ transportApp.get('/', rqf.parse(), (req, res, next) => {
 }, rqf.parse(), (req, res, next) => {
     req.dims.year = true;
     req.sql
-        .field('sum(transporte.total)', 'total')
+        .field('CAST(sum(transporte.total) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .from('transporte')
         .where('transporte.transporte_id=1')
@@ -340,7 +340,7 @@ transportApp.get('/', rqf.parse(), (req, res, next) => {
 }, rqf.parse(), (req, res, next) => {
     req.dims.year = true;
     req.sql
-        .field('sum(transporte.total)', 'total')
+        .field('CAST(sum(transporte.total) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('transporte.transporte_id', 'id')
         .from('transporte')
diff --git a/src/libs/routes_v1/university.js b/src/libs/routes_v1/university.js
index be7fe771609b5c4e6a89d98217724c60d0436a5d..b9455a18c3d7a80865f9fc3599ca7e5796fbd968 100644
--- a/src/libs/routes_v1/university.js
+++ b/src/libs/routes_v1/university.js
@@ -334,7 +334,7 @@ universityApp.get('/', rqf.parse(),  rqf.build(), (req, res, next) => {
 }, query, response('university'));
 
 universityApp.get('/count', rqfCount.parse(), (req, res, next) => {
-    req.sql.field('COUNT(*)', 'total')
+    req.sql.field('CAST(COUNT(*) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('ies_ens_superior.ano_censo', 'year')
     .from('ies_ens_superior')
diff --git a/src/libs/routes_v1/universityEnrollment.js b/src/libs/routes_v1/universityEnrollment.js
index 8df5aded0c1ea4f91cbbbbd5fff8e2ea1cd0b279..b625e765fa6b4fe1f4a5794dae8f7ec0e5b82754 100644
--- a/src/libs/routes_v1/universityEnrollment.js
+++ b/src/libs/routes_v1/universityEnrollment.js
@@ -730,7 +730,7 @@ universityEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
         if ("university" in req.dims || "universityLocalOffer" in req.dims) {
             req.sql.from('localoferta_ens_superior_matricula')
                 .field('curso_ens_superior.ano_censo', 'year')
-                .field('COUNT(localoferta_ens_superior.cod_local_oferta)', 'total')
+                .field('CAST(COUNT(localoferta_ens_superior.cod_local_oferta) AS INTEGER)', 'total')
                 .group('localoferta_ens_superior_matricula.ano_censo')
                 .where('localoferta_ens_superior_matricula.cod_aluno_situacao = 2 OR localoferta_ens_superior_matricula.cod_aluno_situacao = 6 OR localoferta_ens_superior_matricula.matriculado = 1')
                 .where('localoferta_ens_superior_matricula.cod_nivel_academico = 1')
@@ -739,7 +739,7 @@ universityEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
         } else {
             req.sql.from('localoferta_ens_superior_matricula')
                 .field('localoferta_ens_superior_matricula.ano_censo', 'year')
-                .field('COUNT(*)', 'total')
+                .field('CAST(COUNT(*) AS INTEGER)', 'total')
                 .field('localoferta_ens_superior_matricula.cod_ies', 'university_id')
                 .field('localoferta_ens_superior_matricula.nome_ies', 'university_name')
                 .where('localoferta_ens_superior_matricula.cod_aluno_situacao = 2 OR localoferta_ens_superior_matricula.cod_aluno_situacao = 6 OR localoferta_ens_superior_matricula.matriculado = 1')
@@ -753,7 +753,7 @@ universityEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
     } else if (("state" in req.dims) || ("city" in req.dims) || ("region" in req.dims) || ("mesoregion" in req.dims) || ("microregion" in req.dims) ||
         ("state" in req.filter) || ("city" in req.filter) || ("region" in req.filter) || ("mesoregion" in req.filter) || ("microregion" in req.filter)) {
         req.sql.from('localoferta_ens_superior_matricula')
-        .field('DISTINCT COUNT(*)', 'total')
+        .field('CAST(DISTINCT COUNT(*) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('localoferta_ens_superior_matricula.ano_censo', 'year')
         .where('localoferta_ens_superior_matricula.cod_aluno_situacao = 2 OR localoferta_ens_superior_matricula.cod_aluno_situacao = 6 OR localoferta_ens_superior_matricula.matriculado = 1')
@@ -762,7 +762,7 @@ universityEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
         .order('localoferta_ens_superior_matricula.ano_censo')
     } else if ("university" in req.dims || "universityLocalOffer" in req.dims) {
         req.sql.from('aluno_ens_superior')
-        .field('COUNT(*)', 'total')
+        .field('CAST(COUNT(*) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('aluno_ens_superior.ano_censo', 'year')
         .group('aluno_ens_superior.cod_ies')
@@ -773,7 +773,7 @@ universityEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
         .order('aluno_ens_superior.ano_censo')
     } else {
         req.sql.from('localoferta_ens_superior_matricula')
-        .field('COUNT(*)', 'total')
+        .field('CAST(COUNT(*) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('localoferta_ens_superior_matricula.ano_censo', 'year')
         .where('localoferta_ens_superior_matricula.cod_aluno_situacao = 2 OR localoferta_ens_superior_matricula.cod_aluno_situacao = 6 OR localoferta_ens_superior_matricula.matriculado = 1')
@@ -794,11 +794,11 @@ universityEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
 
 universityEnrollmentApp.get('/enter_situation', rqf.parse(), (req, res, next) => {
     req.sql.from('localoferta_ens_superior_matricula')
-    .field('SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=2 AND localoferta_ens_superior_matricula.ingressante=1 THEN 1 ELSE 0 END)', 'cursando')
-    .field('SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=6 AND localoferta_ens_superior_matricula.ingressante=1 THEN 1 ELSE 0 END)', 'concluinte')
-    .field('SUM(CASE WHEN (localoferta_ens_superior_matricula.cod_aluno_situacao=4 OR localoferta_ens_superior_matricula.cod_aluno_situacao=5 OR localoferta_ens_superior_matricula.cod_aluno_situacao=7) AND localoferta_ens_superior_matricula.ingressante=1 THEN 1 ELSE 0 END)', 'evadido')
-    .field('SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=3 AND localoferta_ens_superior_matricula.ingressante=1 THEN 1 ELSE 0 END)', 'trancado')
-    .field('COUNT(*)', 'total')
+    .field('CAST(SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=2 AND localoferta_ens_superior_matricula.ingressante=1 THEN 1 ELSE 0 END) AS INTEGER)', 'cursando')
+    .field('CAST(SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=6 AND localoferta_ens_superior_matricula.ingressante=1 THEN 1 ELSE 0 END) AS INTEGER)', 'concluinte')
+    .field('CAST(SUM(CASE WHEN (localoferta_ens_superior_matricula.cod_aluno_situacao=4 OR localoferta_ens_superior_matricula.cod_aluno_situacao=5 OR localoferta_ens_superior_matricula.cod_aluno_situacao=7) AND localoferta_ens_superior_matricula.ingressante=1 THEN 1 ELSE 0 END) AS INTEGER)', 'evadido')
+    .field('CAST(SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=3 AND localoferta_ens_superior_matricula.ingressante=1 THEN 1 ELSE 0 END) AS INTEGER)', 'trancado')
+    .field('CAST(COUNT(*) AS INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('localoferta_ens_superior_matricula.ano_censo', 'year')
     .where('localoferta_ens_superior_matricula.cod_nivel_academico=1')
@@ -820,10 +820,10 @@ universityEnrollmentApp.get('/enter_situation', rqf.parse(), (req, res, next) =>
 
 universityEnrollmentApp.get('/enrollment_situation', rqf.parse(), (req, res, next) => {
     req.sql.from('localoferta_ens_superior_matricula')
-    .field('SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=2 THEN 1 ELSE 0 END)', 'cursando')
-    .field('SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=6 THEN 1 ELSE 0 END)', 'concluinte')
-    .field('SUM(CASE WHEN (localoferta_ens_superior_matricula.cod_aluno_situacao=4 OR localoferta_ens_superior_matricula.cod_aluno_situacao=5 OR localoferta_ens_superior_matricula.cod_aluno_situacao=7) THEN 1 ELSE 0 END)', 'evadido')
-    .field('SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=3 THEN 1 ELSE 0 END)', 'trancado')
+    .field('CAST(SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=2 THEN 1 ELSE 0 END) AS INTEGER)', 'cursando')
+    .field('CAST(SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=6 THEN 1 ELSE 0 END) AS INTEGER)', 'concluinte')
+    .field('CAST(SUM(CASE WHEN (localoferta_ens_superior_matricula.cod_aluno_situacao=4 OR localoferta_ens_superior_matricula.cod_aluno_situacao=5 OR localoferta_ens_superior_matricula.cod_aluno_situacao=7) THEN 1 ELSE 0 END) AS INTEGER)', 'evadido')
+    .field('CAST(SUM(CASE WHEN localoferta_ens_superior_matricula.cod_aluno_situacao=3 THEN 1 ELSE 0 END) AS INTEGER)', 'trancado')
     .field('localoferta_ens_superior_matricula.ano_censo', 'year')
     .field("'Brasil'", 'name')
     .where('localoferta_ens_superior_matricula.cod_nivel_academico=1')
diff --git a/src/libs/routes_v1/universityTeacher.js b/src/libs/routes_v1/universityTeacher.js
index f65a29b2e7ce54a9b374873352a744809fc0a4f0..11531d67cd1c532ed73aeab871c340cffc2b30aa 100644
--- a/src/libs/routes_v1/universityTeacher.js
+++ b/src/libs/routes_v1/universityTeacher.js
@@ -493,7 +493,7 @@ rqf.addField({
 teacherEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
 
     if ("university" in req.dims) {
-        req.sql.field('COUNT(*)', 'total')
+        req.sql.field('CAST(COUNT(*) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('docente_ens_superior.ano_censo', 'year')
         .from('docente_ens_superior')
@@ -503,7 +503,7 @@ teacherEnrollmentApp.get('/', rqf.parse(), (req, res, next) => {
         .order('docente_ens_superior.ano_censo')
     }
     else {
-        req.sql.field('COUNT(*)', 'total')
+        req.sql.field('CAST(COUNT(*) AS INTEGER)', 'total')
         .field("'Brasil'", 'name')
         .field('docente_ens_superior.ano_censo', 'year')
         .from('docente_ens_superior')
diff --git a/src/libs/routes_v2/classCount.js b/src/libs/routes_v2/classCount.js
index 7771632838dc5a09cb47f3400ddf5e055b15db23..5dc2fff41ae4e90647fef7ee418b47baccc70fe4 100644
--- a/src/libs/routes_v2/classCount.js
+++ b/src/libs/routes_v2/classCount.js
@@ -359,7 +359,7 @@ function addZeroFields(result) {
 classCountApp.get('/count', rqf.parse(), (req, res, next) => {
   req.sql.field("'Brasil'", 'name')
    .field('turma.ano_censo', 'year')
-   .field('AVG(turma.num_matricula)', 'average')
+   .field('CAST(AVG(turma.num_matricula) AS INTEGER)', 'average')
    .field('MEDIAN(turma.num_matricula)', 'median')
    .field('STDDEV_POP(turma.num_matricula)', 'stddev')
    .field('QUANTILE(turma.num_matricula, 0.25)', 'first_qt')
diff --git a/src/libs/routes_v2/cub.js b/src/libs/routes_v2/cub.js
index cfc2848a19ef2f831c6562a89d5fd5ea7f938b22..6908705e97ee310d0546570f3a7dec01631d58ca 100644
--- a/src/libs/routes_v2/cub.js
+++ b/src/libs/routes_v2/cub.js
@@ -173,7 +173,7 @@ cubApp.get('/last_state_values', rqf.parse(), rqf.build(), (req, res, next) => {
             )
             .join('estado', null, 'cub.estado_id = estado.id')
             , "states")
-        .field('AVG(states.preco)', 'preco')
+        .field('CAST(AVG(states.preco) AS INTEGER)', 'preco')
         .field("'BR'", 'sigla_uf')
         .field('states.tipo_preco')
         .group('states.tipo_preco')
@@ -200,7 +200,7 @@ cubApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
             req.sql.from('cub')
             .field("'BR'", 'sigla_uf')
             .field("cub.tipo_preco", 'tipo_preco')
-            .field('AVG(cub.preco)', 'preco')
+            .field('CAST(AVG(cub.preco) AS INTEGER)', 'preco')
             .join('estado', null, 'cub.estado_id=estado.id')
             .group('cub.ano_censo')
             .group('cub.mes_censo')
diff --git a/src/libs/routes_v2/dailyChargeAmount.js b/src/libs/routes_v2/dailyChargeAmount.js
index 78115e48c9de29559b2f2a717c90fac24b4f4ca4..d1f7392075bf44f908ca48cda67e981f8bbaf5b7 100644
--- a/src/libs/routes_v2/dailyChargeAmount.js
+++ b/src/libs/routes_v2/dailyChargeAmount.js
@@ -357,7 +357,7 @@ dailyChargeAmountApp.get('/', rqf.parse(), (req, res, next) => {
         req.sql.from('turma')
             .field('turma.ano_censo', 'year')
             .field('turma.etapa_resumida', 'education_level_short_id')
-            .field('AVG(turma.duracao_turma)/60.0', 'average_class_duration')
+            .field('CAST(AVG(turma.duracao_turma)/60.0 AS INTEGER)', 'average_class_duration')
             .field('MEDIAN(turma.duracao_turma)/60.0', 'median_class_duration')
             .field('STDDEV_SAMP(turma.duracao_turma)/60.0', 'std_class_duration')
             .field('QUANTILE(turma.duracao_turma, 0.25)/60.0', 'fstqt_class_duration')
@@ -433,7 +433,7 @@ dailyChargeAmountApp.get('/average', rqf.parse(), rqf.build(), (req, res, next)
         let joinRG = squel.select();
         joinRG.from(tableR, 'R')
             .field('R.etapas_mod_ensino_segmento_id')
-            .field('AVG(1.0*R.duracao_turma)/60', 'median_value')
+            .field('CAST(AVG(1.0*R.duracao_turma)/60 AS INTEGER)', 'median_value')
             .join(tableG, 'G', 'R.etapas_mod_ensino_segmento_id = G.etapas_mod_ensino_segmento_id AND R.rowNo BETWEEN G.counter/2 AND G.counter/2+G.counter%2')
             .group('R.etapas_mod_ensino_segmento_id')
 
@@ -442,8 +442,8 @@ dailyChargeAmountApp.get('/average', rqf.parse(), rqf.build(), (req, res, next)
             .from(joinRG, 'm')
             .field('turma.ano_censo', 'year')
             .field('turma.etapas_mod_ensino_segmento_id', 'education_level_mod_id')
-            .field('AVG(turma.duracao_turma)/60.0', 'average_class_duration')
-            .field('AVG(m.median_value)', 'median_class_duration')
+            .field('CAST(AVG(turma.duracao_turma)/60.0 AS INTEGER)', 'average_class_duration')
+            .field('CAST(AVG(m.median_value) AS INTEGER)', 'median_class_duration')
             .field('STDDEV_SAMP(turma.duracao_turma)/60.0', 'std_class_duration')
             .field('QUANTILE(turma.duracao_turma, 0.25)/60.0', 'fstqt_class_duration')
             .field('QUANTILE(turma.duracao_turma, 0.75)/60.0', 'thdqt_class_duration')
diff --git a/src/libs/routes_v2/simcaqClassroomSize.js b/src/libs/routes_v2/simcaqClassroomSize.js
index d70d084ec14d30dad60945547234ff23079d7bf8..07340469eaebaf07f353df644b480be7ba970033 100644
--- a/src/libs/routes_v2/simcaqClassroomSize.js
+++ b/src/libs/routes_v2/simcaqClassroomSize.js
@@ -136,7 +136,7 @@ rqf.addField({
 
 simcaqClassroomSizeApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.sql.from('simcaq_tamanho_das_turmas')
-        .field('AVG(simcaq_tamanho_das_turmas.num_matricula)', 'average_classroom_size')
+        .field('CAST(AVG(simcaq_tamanho_das_turmas.num_matricula) AS INTEGER)', 'average_classroom_size')
         .field('simcaq_tamanho_das_turmas.etapa', 'education_level_short_id')
         .field('simcaq_tamanho_das_turmas.ano_censo', 'year')
         .group('simcaq_tamanho_das_turmas.ano_censo')
diff --git a/src/libs/routes_v2/simcaqWorkload.js b/src/libs/routes_v2/simcaqWorkload.js
index b4584224f16b94b2490885493293f41ebb5b8f30..2ef12e23a16438f16ab7688ec6f34417127fc4bc 100644
--- a/src/libs/routes_v2/simcaqWorkload.js
+++ b/src/libs/routes_v2/simcaqWorkload.js
@@ -136,7 +136,7 @@ rqf.addField({
 
 simcaqWorkloadApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     req.sql.from('simcaq_carga_horaria_de_ensino')
-        .field('AVG(duracao_turma_horas)', 'average_workload')
+        .field('CAST(AVG(duracao_turma_horas) AS INTEGER)', 'average_workload')
         .field('simcaq_carga_horaria_de_ensino.etapa', 'education_level_short_id')
         .field('simcaq_carga_horaria_de_ensino.turno', 'shift_id')
         .field('simcaq_carga_horaria_de_ensino.rede', 'adm_dependency_public_id')
diff --git a/src/libs/routes_v2/spatial.js b/src/libs/routes_v2/spatial.js
index d4f48fe8eda00fe562b60e83bf69416c81694d33..6675bca63bbf24984793f5de440f008a4191d9fb 100644
--- a/src/libs/routes_v2/spatial.js
+++ b/src/libs/routes_v2/spatial.js
@@ -142,7 +142,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const pibQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('AVG(ibge_pib.pib_per_capita)', 'gdp_per_capita')
+        .field('CAST(AVG(ibge_pib.pib_per_capita) AS INTEGER)', 'gdp_per_capita')
         .field('ibge_pib.ano_censo', 'census_year')
         .from('ibge_pib')
         .where(`ibge_pib.ano_censo IN (${pibYearQry.toString()})`)
@@ -154,7 +154,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const idhQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('AVG(idhm)', 'idhm')
+        .field('CAST(AVG(idhm) AS INTEGER)', 'idhm')
         .field('adh_idh.ano_censo', 'census_year')
         .from('adh_idh')
         .where(`adh_idh.ano_censo IN (${idhYearQry.toString()})`)
@@ -166,7 +166,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const analfabQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('AVG(t_analf15m)', 'analfabetism')
+        .field('CAST(AVG(t_analf15m) AS INTEGER)', 'analfabetism')
         .field('adh_analfabetismo.ano_censo', 'census_year')
         .from('adh_analfabetismo')
         .where(`adh_analfabetismo.ano_censo IN (${analfabYearQry.toString()})`)
@@ -178,7 +178,7 @@ spatialApp.get('/sociodemographic', rqf.parse(), rqf.build(), (req, res, next) =
 
     const giniQry = req.sql.clone()
         .field('\'Brasil\'', 'name')
-        .field('AVG(gini)', 'gini')
+        .field('CAST(AVG(gini) AS INTEGER)', 'gini')
         .field('adh_gini.ano_censo', 'census_year')
         .from('adh_gini')
         .where(`adh_gini.ano_censo IN (${giniYearQry.toString()})`)
diff --git a/src/libs/routes_v2/teacher.js b/src/libs/routes_v2/teacher.js
index 94e6d86c60933d906b9f0f8264ebfd14da5534c4..570b24dd83939ab7d6bbf16a634bbc70d15b0b48 100644
--- a/src/libs/routes_v2/teacher.js
+++ b/src/libs/routes_v2/teacher.js
@@ -521,7 +521,7 @@ const sortYearPtid = (a, b) => {
 }
 
 teacherApp.get('/', rqf.parse(), (req, res, next) => {
-    req.sql.field('COUNT(DISTINCT docente.id_docente)', 'total')
+    req.sql.field('CAST(COUNT(DISTINCT docente.id_docente) as INTEGER)', 'total')
     .field("'Brasil'", 'name')
     .field('docente.ano_censo', 'year')
     .from('docente')