es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Estoy tratando de obtener la distribución por edades. Y con esta consulta estoy obteniendo el siguiente error.

    DROP TABLE IF EXISTS sand_scipher_ds_db.public.Age_Dist;
CREATE TEMPORARY TABLE sand_scipher_ds_db.public.Age_Dist AS 
    (SELECT
       SUM(CASE WHEN Age_AT_INDEX >= 18 AND Age_AT_INDEX <= 34 THEN 1 ELSE 0 END) AS Adults,
       SUM(CASE WHEN Age_AT_INDEX >= 35 AND Age_AT_INDEX <= 44 THEN 1 ELSE 0 END) AS Early_Middle_Age,
       SUM(CASE WHEN Age_AT_INDEX >= 45 AND Age_AT_INDEX <= 54 THEN 1 ELSE 0 END) AS Middle_Age,
       SUM(CASE WHEN Age_AT_INDEX >= 55 AND Age_AT_INDEX <= 64 THEN 1 ELSE 0 END) AS Old,
       SUM(CASE WHEN Age_AT_INDEX >= 65 THEN 1 ELSE 0 END) AS Above_65

    FROM sand_scipher_ds_db.public.Rfour);

Error de compilación SQL: No se puede convertir el parámetro ’18’ de tipo [NUMBER(2,0)] en el tipo esperado [DATE]

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que hay un problema con la sintaxis de la consulta SQL. Específicamente, se intenta comparar un valor de edad (representado como un número) con un valor de fecha, lo cual no es válido.

    Para resolver el error, puede ser necesario verificar los tipos de datos de la columna Age_AT_INDEX en la tabla sand_scipher_ds_db.public.Rfour y asegurarse de que sean compatibles con los operadores de comparación utilizados en las declaraciones CASE. También puede ser útil revisar la sintaxis SQL utilizada para crear la tabla temporal y asegurarse de que no haya otros problemas presentes.

Comments are closed.