Переименование имен столбцов с одинарной кавычкой в ​​Snowflake - PullRequest
0 голосов
/ 08 января 2020

У меня есть таблица со следующими данными;

Active_Duration|'Control'|'Test'
    1          | 0.21    | 0.22

Но я бы хотел, чтобы имена столбцов были без одинарных кавычек. Я попробовал следующий код для обработки одинарных кавычек как литерала, с указанной ниже ошибкой.

 SELECT p.active_duration,
          p.''Control'' AS Control_Rate,
          p.''Test'' AS Test_Rate
   FROM pivot_tab p;
 SQL compilation error: syntax error line 2 at position 16 unexpected ''''. syntax error line 3 at position 16 unexpected ''''.

Могу ли я узнать, как его исправить, и переименовать столбец соответствующим образом без одинарных кавычек.

Ответы [ 2 ]

2 голосов
/ 08 января 2020

Я настоятельно рекомендую вам перестроить эту таблицу, но если вы должны сохранить ее, вот несколько примеров использования таких столбцов.

CREATE OR REPLAE TABLE ugly (
   id number, 
   "'str'" varchar(20), 
   "'str2'" varchar(20));
INSERT INTO ugly values (1, 'hello', 'world');
SELECT * FROM ugly;
SELECT u.$1, u.$2, u.$3 FROM ugly u;
SELECT u.id, u."'str'", u."'str2'" FROM ugly u;

Надеюсь, это поможет ... Rich

пример "переименования" столбца в вашем SQL выражении:

SELECT  p.active_duration,
        p."'Control'" AS Control_Rate,
        p."'Test'" AS Test_Rate
FROM pivot_tab p;
0 голосов
/ 09 января 2020

Для переименования столбцов вы можете использовать синтаксис RENAME в SnowFlake

ALTER TABLE pivot_tab RENAME COLUMN "'Control'" TO Control;
ALTER TABLE pivot_tab RENAME COLUMN "'Test'" TO Test;
...