rust - 在 rust-postgres 中处理 NULL 列

标签 rust nullable

<分区>

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

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值(value)。我已经阅读了文档、此处的相关答案以及许多 Google 页面,但无法弄明白。

显然,我想使用 Option<>不知何故。貌似我想使用 get_opt()功能。

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

if row[2] is not null,
then $location = row[2]
else $location = null

最佳答案

我找到了一些可行的方法,但我不确定它是否是正确的解决方案:

let x: Option<f64> = row.get(1);
if let Some(_i) = x {
   // do something
}

关于rust - 在 rust-postgres 中处理 NULL 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55399900/

相关文章:

winapi - 如何在windows-rs中获取IAudioSessionControl2?

rust - 更新 BTreeSet 中的结构

rust - 在 From 实现中 panic 是惯用的吗?

php - Laravel4 验证器和可空字段

rust - Piston 应用程序在几分钟后因内存分配错误而崩溃

rust - 看不到枚举值

java - 如何在 Java 中呈现可空的原始类型 int?

c# - 如何定义三个状态 bool 值但不是可空值?

asp.net-mvc - 如何使用可空类型的强类型 HTML 助手?

c# - 为什么 C# 可以检查 'var' 是否为空?