Postgresql有条件地在查询中包含不同的

Postgresql conditionally include distinct in query

Postgresql 有条件地在查询中包含 distinct

有没有办法修改这样的查询:

select distinct col1, col2  
            from our_schema.our_table
            where (id = '1001')

目标是轻松 activate/deactivate 不同的关键字。

显然,可以将其移动到评论中,例如:

select col1, col2 -- distinct 
            from our_schema.our_table
            where (id = '1001')

在 Postgresql 中有没有简单的方法可以做到这一点?

我在 Microsoft SSMS 中看到 'dynamic SQL' 使用 TSQL 语言。 Postgresql 有这样的东西吗?或者更简单的东西?

似乎这只是关于代码管理/构建 SQL 字符串?

DISTINCT 后插入一个换行符。 SQL 中白色 space 的唯一意义在于 separate tokens. Other than that, line breaks are purely cosmetic - except for standard comments starting with -- 以行结尾。

SELECT DISTINCT
       col1, col2 ...

-->

SELECT -- DISTINCT
       col1, col2 ...

甚至:

SELECT
       DISTINCT
       col1, col2 ...

-->

SELECT
--     DISTINCT
       col1, col2 ...

使用C-style block comments: /* comment */

SELECT DISTINCT col1, col2 ...

-->

SELECT /*DISTINCT*/ col1, col2 ...