Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

426
Visualizações
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 Respostas
Responde à pergunta

0

prueba el reparto explícito:

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

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Assistente virtual