java - paso - jdbc postgresql 10
Tipo de datos Postgres emitidos (1)
Mi base de datos es Postgres 8. Necesito transmitir el tipo de datos a otro. Eso significa que uno de los tipos de datos de columnas es varchar
y es necesario convertirlo en int
con Postgres en una instrucción SELECT
.
Actualmente, obtengo el valor de cadena y lo int
en int
en Java.
¿Hay alguna forma de hacerlo? El código de muestra sería muy apreciado.
cast(varchar_col AS int) -- SQL standard
o
varchar_col::int -- Postgres syntax shorthand
Estas variantes de sintaxis son válidas (casi) en cualquier parte . Excepción para el segundo:
Hay dos variantes más:
int4(varchar_col) -- only works for some type names
int ''123'' -- must be an untyped, quoted string literal
Tenga en cuenta cómo escribí int4
(varchar_col)
. Ese es el nombre de tipo interno y también hay una función definida para él. No funcionaría como un o integer()
. int()
Detalles en el manual here y here .
Para que sea válida para integer
, la cadena debe estar compuesta por un signo inicial opcional ( +
/ -
) seguido de dígitos solamente. El espacio en blanco inicial / final se ignora.