首页 > 解决方案 > 克隆的雪花表,为什么每一列都用引号引起来?

问题描述

我有一个 varchar 值表,当我通过克隆整个表来复制此表时,每个 varchar 值周围都有引号。

例如 12/8/2017 变为“12/8/2017”,Finance 变为“Finance”。

想知道A,为什么会这样。B 有没有办法解决这个问题?

标签: formattingclonesnowflake-cloud-data-platformquotations

解决方案


所以我试着想一个可能发生这种情况的场景,我发现了这个:

CREATE OR REPLACE TABLE demo_db.public.employees
 (emp_id number,
 first_name varchar,
 last_name varchar
 );
-- Populate the table with some seed records.
Insert into demo_db.public.employees
values(100,'"John"','"Smith"')
 (200,'Sam','White'),
 (300,'Bob','Jones'),
 (400,'Linda','Carter');

SELECT * FROM demo_db.public.employees;

CREATE OR REPLACE TABLE demo_db.public.employees_clone
  CLONE employees;

来自演示:https ://community.snowflake.com/s/article/cloning-in-snowflake

您可能注意到我必须使用 ' ' 才能让 INSERT 语句接受数据。我对下面的克隆表进行了相同的 INSERT 并收到错误。

插入到 demo_db.public.employees_clone VALUES(500,""'Mike'"",'Jones');

然而这有效:

插入到 demo_db.public.employees_clone VALUES(500,'"Mike"','Jones');

克隆的select *的结果:在此处输入图像描述

desc 表 demo_db.public.employees_clone;

在此处输入图像描述

所以类型仍然是 varchar,它只是在字符串中有 '"' 一个引号。

试试 DESC 看看发生了什么。我猜测原始表使用“”加载了字符串,或者您正在阅读它的地方将其放在引号中。无论哪种方式,请在支持下分享原始数据或数据样本。如果您在社区门户中,请参阅: https: //support.snowflake.net/s/article/How-to-Get-Access-to-the-Case-Console-in-the-Lodge-Community


推荐阅读