你能连接两个字符串来在PostgreSQL中创建动态列名吗?

时间:2017-02-22 09:03:22

标签: sql postgresql

我有一个表单,人们可以在其中键入开始和结束日期,以及列名称前缀。

在后端,我想按照

的方式做点什么
SELECT *, CAST('{{startDate}}' AS TIMESTAMP) AS ({{prefix}} + '_startDate')

这可能吗?基本上,我想动态创建新列的名称。该表立即返回给用户,因此我不想改变底层表本身。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用EXECUTE关键字执行已准备好的动态查询,否则无法使用SQL的动态结构。

由于您正在准备SQL外部数据库,因此可以使用以下内容:

SELECT *, CAST('{{startDate}}' AS TIMESTAMP) AS {{prefix}}_startDate

假设模板将{{prefix}}替换为某个字符串,然后再将其发送到数据库。