Re: Чтение numeric из postgres
От: alex_public  
Дата: 03.04.23 14:15
Оценка: 6 (1) +1
Здравствуйте, MAMOHT, Вы писали:

MAM>Всем привет.


MAM>Пытаюсь прочитать данные из postgres, использую пакет postgres (про diesel знаю, но пока не хочу).

MAM>Строки читаются нормально.

MAM>Но при попытке чтения numeric, получаю ошибку: "error retrieving column open: error deserializing column 2: cannot convert between the Rust type `f64` and the Postgres type `numeric`"

MAM>Сам код:
MAM>
MAM>    for row in client.query(&sql, &[]).unwrap() {
MAM>        println!("{:?}", row);
MAM>        let tmp: f64 =  row.get("open");
MAM>    }
MAM>


MAM>Как читать-то?


Rust то тут ни при чём. Колонка с типом NUMERIC очевидно не является числами с плавающей точкой. Если тебе нужны такие числа, то надо делать колонку с типом DOUBLE PRECISION. Если же тебе обязательно нужна колонка с типом NUMERIC, то надо подобрать соответствующий тип (обычно это не базовый, а реализованный в библиотеках) в своём языке программирования. В Rust'е это будет Decimal.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.