Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

395
Vistas
PostgreSQL devuelve java.sql.Types.OTHER cuando selecciono una constante con la palabra clave AS

Cuando ejecute la selección en Postgres sobre Java

 SELECT '' AS COL1, 0 AS COL2 FROM MYTABLE 1=2;

El tipo de columna es Types.OTHER tanto para COL1 como para COL2. Como es obvio, el conjunto de resultados no tiene ninguna fila.

Pero si tengo filas en el conjunto de resultados usando la consulta a continuación:

 SELECT '' AS COL1, 0 AS COL2 FROM MYTABLE;

El tipo de COL1 sigue siendo Types.OTHER pero el tipo de COL2 es Types.INTEGER . En mi caso, necesito Types.VARCHAR y Types.INTEGER incluso si el resultado está vacío o no.

¿Hay alguna configuración en la capa de base de datos o en la URL de jdbc para obtener Types.VARCHAR y Types.INTEGER para dos consultas?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

prueba el reparto explícito:

 SELECT ''::VARCHAR AS COL1, 0::INTEGER AS COL2 FROM MYTABLE;
over 4 years ago · Santiago Trujillo Denunciar

0

El controlador Postgres JDBC 9.4.1212 informa el tipo de constante 0 como Types.INTEGER = 4, independientemente de si hay un resultado o no (esto también puede depender de la versión del servidor; lo probé con un servidor 9.4).

La constante de cadena aún se notifica como Types.OTHER . Para dichas columnas, ResultSetMetaData.getColumnClassName(i) devuelve java.lang.String , por lo que si encuentra Types.OTHER , puede usar esta información para reconocer la columna como una columna de caracteres.

Si desea que ResultSetMetaData devuelva el tipo deseado, tome las fuentes de Github y parchee ResultSetMetaData para hacer esta traducción.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda