#sql #postgresql #type-conversion
#sql #postgresql #преобразование типов
Вопрос:
Postgresql не может автоматически преобразовывать данные с плавающей запятой, поступающие из удаленной таблицы, в формат «1,1»
Я пытаюсь подключить db2 и postgresql, используя некоторые расширения fdw. Теперь я использую odbc_fdw, но odbc всегда возвращает типы с плавающей запятой в формате «1,1», а postgresql может использовать только точку в качестве разделителя. могут быть какие-либо настройки postgresql или конфигурации odbc?
SELECT CAST('1,01000000E 1' as real);
Код ошибки 22P02. Неправильный синтаксис для типа real
Я ожидаю автоматического преобразования строк типа «1,1» в float с использованием cast. Я думаю, что без этого я не смогу использовать внешние таблицы с плавающими типами данных
Комментарии:
1. любая причина, по которой вы не можете просто
select cast(replace('1,01000000E 1', ',', '.') as real);
Ответ №1:
вы могли бы сделать
SELECT string_to_array('1,01000000E 1', ',')::real[]
Комментарии:
1. результат странный, и мне нужно, чтобы postgres мог изначально конвертировать в rel с разделителем через запятую