PostgreSQL returns java.sql.Types.OTHER when I select a constant with the AS keyword

When running select on Postgres over java

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

Column type Types.OTHERfor both COL1 and COL2. As you can see, the results do not have a single row.

But if I have rows in the result set using the following query:

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

Type COL1 is still Types.OTHER, but type COL2 Types.INTEGER. In my case, I need Types.VARCHARand Types.INTEGER, even the result is empty or not.

Are there any configurations at the db or jdbc url level to receive Types.VARCHARand Types.INTEGERhow for the two requests.

+6
source share
2 answers

Postgres JDBC 9.4.1212 0 Types.INTEGER= 4, , ( - 9.4).

- Types.OTHER. ResultSetMetaData.getColumnClassName(i) java.lang.String, , Types.OTHER, .

, ResultSetMetaData , Github ResultSetMetaData, .

+2

:

SELECT ''::VARCHAR  AS COL1, 0::INTEGER AS COL2 FROM MYTABLE;
+3

Source: https://habr.com/ru/post/1016789/


All Articles