gpt4 book ai didi

database - F# SQLProvider - where 子句中的 NULL

转载 作者:搜寻专家 更新时间:2023-10-30 21:56:28 27 4
gpt4 key购买 nike

我有一个查询,我想在其中获取特定列中具有 NULL 的所有记录:

query {
for a in db.Dbo.DataAlert do
where (a.DateSent = null)
select a
}

但是,这会引发一个错误,指出 null 不是有效值。

编写该查询的正确方法是什么?

更新:我正在使用 this SQLProvider .

最佳答案

您可以通过指定 UseOptionTypes 为可为空的列生成选项类型静态参数。默认值为 false,它返回例如 0 而不是 NULL。这在文档中没有很好的记录,例如 Querying 中没有提及。文档页面,并且在 Home 中只有一个示例页面。

将 UseOptionTypes 设置为 true 后:

type sql = SqlDataProvider< 
ConnectionString = connectionString,
DatabaseVendor = Common.DatabaseProviderTypes.MSSQLSERVER,
UseOptionTypes = true
>

可空字段将返回 Option 类型,允许您编写:

query {
for a in db.Dbo.DataAlert do
where (a.DateSent = None)
select a
}

关于database - F# SQLProvider - where 子句中的 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44256163/

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