Тип данных Postgres

Моя база данных - Postgres 8. Мне нужно передать тип данных другому. Это означает, что один из типов данных столбцов равен varchar и ему необходимо передать его в int с помощью Postgres в инструкции SELECT.

В настоящее время я получаю строковое значение и передаю его в int в Java.
Есть ли способ сделать это? Образец кода будет высоко оценен.

Ответ 1

cast(varchar_col AS int)  -- SQL standard

или

varchar_col::int          -- Postgres syntax shorthand

Синтаксические варианты тезисов действительны (почти) в любом месте. Исключение для второго:

Есть еще два варианта:

int4(varchar_col)         -- only works for some type names
int '123'                 -- must be an untyped, quoted string literal

Обратите внимание, как я написал int4 (varchar_col). Это имя внутреннего типа, а также функция, определенная для него. Не работает как integer() или int().

Подробности в руководстве здесь и здесь.

Чтобы быть действительным для integer, строка должна содержать необязательный главный знак (+/-), за которым следует только цифры. Ведущее/конечное пустое пространство игнорируется.