处理rust-postgres中的NULL列[重复]

问题描述 投票:-2回答:1

我迷失在看似简单的事情上:

for row in &conn.query("SELECT r.id, r.name, l.name 
FROM rating r LEFT JOIN location l ON r.loc_id = l.id", &[]).unwrap() {
    let rating = Rating {
        id: row.get(0),
        name: row.get(1),
    };
}

这部分有效。我不能得到的是第三列(row.get(2))。

由于LEFT JOIN,此行可以具有NULL值。我已经阅读了文档,这里的相关答案以及许多Google页面,但无法弄明白。

显然,我想以某种方式使用Option<>。似乎我想使用get_opt()函数。

在伪代码中,我想要的是:

if row[2] is not null,
then $location = row[2]
else $location = null
rust nullable
1个回答
0
投票

我发现了一些有效的方法,但我不确定它是否是正确的解决方案:

let x: Option<f64> = row.get(1);
if let Some(_i) = x {
   // do something
}
© www.soinside.com 2019 - 2024. All rights reserved.