【问题标题】:How to convert comma sepearted string value to display as a column name如何将逗号分隔的字符串值转换为列名
【发布时间】:2014-07-16 05:12:02
【问题描述】:

在 PostgreSQL 中,我动态生成了逗号分隔的必需列字符串。但是如何将它们转换为列名?

我已经在 SQL Server 中尝试过.. 成功但想在 postgreSQL 中做

我的逗号分隔字符串为: String_agg

7_headid,7_grade,8_headid,8_grade,6_headid,6_grade,5_headid,5_grade,4_headid,4_grade,3_headid,3_grade,15_headid,15_grade,9_headid,9_grade,1_headid,1_grade,2_headid,2_grade

要求输出为:

列名 --> Sr.No || 7_headid || 7级|| 8_headid || 8级|| 6_headid ||6_grade ||很快 -------------------------------------------------- --------------------- 行值 --> 1 2 3 4 5 6 7

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:
    SELECT 1 AS "Str. No"
         , 2 AS "7_headid"
         , 3 AS "7_grade"
         ...
    

    你必须double-quote identifiers喜欢这些违反基本规则的人。

    【讨论】:

    • 您没有在问题中指定。在 PL/pgSQL 函数和EXECUTE 中使用动态 SQL。或crosstab() 函数。或强制转换为预定义的行类型。这取决于具体情况......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2012-09-04
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多