使用 JOOQ 选择 NULL 作为列

Posted

技术标签:

【中文标题】使用 JOOQ 选择 NULL 作为列【英文标题】:Select NULL as column using JOOQ 【发布时间】:2020-06-16 04:50:08 【问题描述】:

我正在尝试使用 JOOQ 在我的查询中选择 NULL 作为一列,所以基本上是这样的:

SELECT name, NULL as 'someColumn' FROM someTable;

我需要这样做,因为结果需要包含someColumn(作为数据标准的一部分),但我们的数据库中没有此信息。这在普通 SQL 中运行良好,但我正在努力使用 JOOQ 重现它。

有谁知道如何在这个表单的查询中做到这一点?

context.select(
    SOMETABLE.NAME,
    ... // Other columns here
    DSL.NULL.as("someColumn") // <-- This doesn't exist
)

【问题讨论】:

【参考方案1】:

您可以使用inline value

DSL.inline(null)

根据您的数据库方言或查询使用情况,您可能需要为该值添加数据类型,例如

DSL.inline(null, SQLDataType.VARCHAR)

【讨论】:

以上是关于使用 JOOQ 选择 NULL 作为列的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jooq 中选择 unix 时间戳作为日期?

jooq 从表的特定分区中选择

SQLite 无法通过 JDBC 和 jOOQ 在 SELECT 中找到现有列

在 Impala 中使用 NULL 列创建表作为 Select

jOOQ - 选择查询数组

当 JSON 为 NULL 时,动态 SQL 将 JSON 属性作为列获取的问题