gpt4 book ai didi

postgresql - 在RUST中将Postgresql时间戳转换为字符串

转载 作者:行者123 更新时间:2023-12-03 11:36:59 35 4
gpt4 key购买 nike

我尝试从数据库检索数据时遇到此错误:线程'main'惊恐于'错误检索第2列:错误反序列化第2列:错误
在Rust类型alloc::string::String和Postgres类型timestamp之间nvert

Db structure : CREATE TABLE IF NOT EXISTS table_(
id SERIAL PRIMARY KEY,
data VARCHAR NOT NULL,
date_saved TIMESTAMP
)

------------------------------------------

struct MyType{
local_id: i32,
data: String,
date_saved: String
}

let records = client.query("SELECT id,data,date_saved FROM table_",&[])?;
let mut the_records : Vec<MyType> = vec![];
for record in records{
let saved_data = MyType {
local_id: record.get(0),
data: record.get(1),
date_saved: record.get(2),
};
println!("{:?}",saved_data.data);
the_records.push(saved_data);
}
谢谢你的帮助。

最佳答案

我发现根据https://docs.rs/postgres/0.17.5/postgres/types/trait.FromSql.html在Postgres时间戳和String之间没有可能的转换,但是我们需要使用std::time::SystemTime。
所以MyType将是:

struct MyType{
local_id: i32,
data: String,
date_saved: std::time::SystemTime
}
而且我可以从那里操纵时间。
谢谢你。

关于postgresql - 在RUST中将Postgresql时间戳转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63892651/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com